Spring MVC入门例子

梦里梦外; 2022-05-18 09:00 351阅读 0赞

参考总结自易百教程

springMVC工作流程:

  1. 浏览器------>请求request---------->核心分发控制器DispatcherServlet(在/WEB-INF/web.xml中配置)
  2. --------匹配相应的处理器handle或控制器controller(在/WEB-INF/\[serlvet-name\]-servlet.xml中定义注解扫描器,扫描控制器类包)
  3. ------>该处理器处理请求(调用模型层model,通过业务逻辑数据库操作完成model数据封装)
  4. --------返回ModelAndView------->DispatcherServlet前端控制器---------->视图层(获得数据渲染视图)
  5. --------返回到-------->DispatcherServlet前端控制器------通过视图解析器(在/WEB-INF/\[serlvet-name\]-servlet.xml中配置)
  6. -------匹配完整响应路径----------->响应response----->浏览器

1、新建JavaWeb工程

2、导入spring支持包建立path,可以通过IDE部署spring开发能力自动完成导包,需取消勾选生成applicationContext.xml

3、在/WEB-INF/下新建web.xml 和 [(在web.xml中配置的)servlet-name]-servlet.xml (如: hello-servlet.xml)

4、控制器:新建com.controller包,编写一个普通java文件,如:HelloController.java添加@Controller注解,

类体中编写请求处理方法,如pulbic String hello(){}添加@RequsetMapping(…)注明该方法处理的请求内容或类型,返回的是

视图文件字符串如return “index”;(前置路径“/jsp/”,后置文件名“.jsp”)http://localhost:8080/项目名/index最终配置映射

为“http://localhost:8080/项目名/jsp/index.jsp”

5、视图:在Web-Root/下新建jsp文件夹添加一个jsp文件,如:index.jsp

70

web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
  5. http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  6. id="WebApp_ID" version="3.1">
  7. <display-name>springMVC_hello</display-name>
  8. <servlet>
  9. <servlet-name>dispatcher</servlet-name>
  10. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  11. <init-param>
  12. <param-name>contextConfigLocation</param-name>
  13. <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
  14. </init-param>
  15. </servlet>
  16. <servlet-mapping>
  17. <servlet-name>dispatcher</servlet-name>
  18. <url-pattern>/</url-pattern>
  19. </servlet-mapping>
  20. </web-app>

disparcher-servlet.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
  8. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
  9. <!-- 定义要扫描 controller的包 -->
  10. <context:component-scan base-package="com.controller" />
  11. <mvc:default-servlet-handler />
  12. <!-- 启动注解驱动 SpringMVC 功能 -->
  13. <mvc:annotation-driven />
  14. <!-- 配置视图解析器解析路径 -->
  15. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
  16. <!-- 定义视图存放路径 -->
  17. <property name="prefix" value="/jsp/" />
  18. <!-- 定义视图后缀 -->
  19. <property name="suffix" value=".jsp" />
  20. </bean>
  21. </beans>

HelloController.java

  1. package com.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.ui.ModelMap;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. @Controller //注明此类为控制器,配置bean到上下文中
  6. public class HelloController {
  7. @RequestMapping(value="/hello") //映射该路径下的访问请求到此方法下处理
  8. public String hello(ModelMap model){
  9. System.out.println("hello controller");
  10. //业务处理逻辑编写,调用model层操作
  11. /* …… */
  12. model.addAttribute("paramName","Hello,This is my first spring MVC programe!");
  13. return "index"; //返回相应的视图文件
  14. }
  15. }

index.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  7. <html>
  8. <head>
  9. <base href="<%=basePath%>">
  10. <title>My JSP 'index.jsp' starting page</title>
  11. <meta http-equiv="pragma" content="no-cache">
  12. <meta http-equiv="cache-control" content="no-cache">
  13. <meta http-equiv="expires" content="0">
  14. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  15. <meta http-equiv="description" content="This is my page">
  16. <!--
  17. <link rel="stylesheet" type="text/css" href="styles.css">
  18. -->
  19. </head>
  20. <body>
  21. <h2>${paramName}</h2>
  22. </body>
  23. </html>

结果

70 1

发表评论

表情:
评论列表 (有 0 条评论,351人围观)

还没有评论,来说两句吧...

相关阅读

    相关 spring MVC入门

    2.1、Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架