SpringMVC学习(一)idea+maven+SpringMVC(未使用注解)搭建前端环境(简单配置介绍)

  Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。

  Spring MVC主要由DispatcherServlet、处理器映射【找控制器】、适配器【调用控制器的方法】、控制器【业务】、视图解析器、视图组成。

SpringMVC环境搭建

  1.搭建idea+maven环境,使用maven,导入必要jar

  pom.xml:

 1 <dependencies>
 2     <dependency>
 3       <groupId>junit</groupId>
 4       <artifactId>junit</artifactId>
 5       <version>4.11</version>
 6       <scope>test</scope>
 7     </dependency>
 8     <dependency>
 9       <groupId>org.springframework</groupId>
10       <artifactId>spring-beans</artifactId>
11       <version>4.3.14.RELEASE</version>
12     </dependency>
13     <dependency>
14       <groupId>org.springframework</groupId>
15       <artifactId>spring-context</artifactId>
16       <version>4.3.14.RELEASE</version>
17     </dependency>
18     <dependency>
19       <groupId>org.springframework</groupId>
20       <artifactId>spring-webmvc</artifactId>
21       <version>4.3.14.RELEASE</version>
22     </dependency>
23     <dependency>
24       <groupId>org.springframework</groupId>
25       <artifactId>spring-context-support</artifactId>
26       <version>4.3.14.RELEASE</version>
27     </dependency>
28     <dependency>
29       <groupId>org.springframework</groupId>
30       <artifactId>spring-aop</artifactId>
31       <version>4.3.14.RELEASE</version>
32     </dependency>
33     <dependency>
34       <groupId>org.springframework</groupId>
35       <artifactId>spring-tx</artifactId>
36       <version>4.3.14.RELEASE</version>
37     </dependency>
38     <dependency>
39       <groupId>org.springframework</groupId>
40       <artifactId>spring-jdbc</artifactId>
41       <version>4.3.14.RELEASE</version>
42     </dependency>
43     <dependency>
44       <groupId>org.springframework</groupId>
45       <artifactId>spring-expression</artifactId>
46       <version>4.3.14.RELEASE</version>
47     </dependency>
48     <dependency>
49       <groupId>org.springframework</groupId>
50       <artifactId>spring-core</artifactId>
51       <version>4.3.14.RELEASE</version>
52     </dependency>
53     <dependency>
54       <groupId>javax.servlet</groupId>
55       <artifactId>javax.servlet-api</artifactId>
56       <version>3.1.0</version>
57     </dependency>
58     <dependency>
59       <groupId>javax.servlet.jsp</groupId>
60       <artifactId>jsp-api</artifactId>
61       <version>2.2</version>
62     </dependency>
63     <dependency>
64       <groupId>javax.servlet</groupId>
65       <artifactId>jstl</artifactId>
66       <version>1.2</version>
67     </dependency>
68   </dependencies>

  2.配置web.xml与DispatcherServlet-servlet.xml

  web.xml和struts1类型,将框架自己的servlet配入其中,使得遇到URL末尾为.do(url-pattern配置)时,将有servlet处理

 1 <servlet>
 2     <servlet-name>DispatcherServlet</servlet-name>
 3     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 4     <load-on-startup>1</load-on-startup>
 5   </servlet>
 6 
 7   <servlet-mapping>
 8     <servlet-name>DispatcherServlet</servlet-name>
 9     <url-pattern>*.do</url-pattern>
10   </servlet-mapping>

  DispatcherServlet-servlet.xml(该文件需要自己创建,且名字不可以有不同,servlet会自动找寻该文件)是SpringMVC框架的主配置文件,所配置的内容和其框架本身的作用有很大的关联

  Spring MVC主要由DispatcherServlet、处理器映射【找控制器】、适配器【调用控制器的方法】、控制器【业务】、视图解析器、视图组成。

  ①处理器映射

<!-- 1. 配置处理器映射,springmvc默认的处理器映射器
             BeanNameUrlHandlerMapping:根据bean的name属性的url去找handlerController
              1.寻找Controller,根据URL请求去匹配bean的name属性,从而获取controller -->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

  ②控制器处理适配器

1     <!-- 2. 配置处理器适配置器执行Controller -->
2     <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

  ③控制器

<!-- 3.配置一个控制器 -->
    <bean name="/user.do" class="com.backofferice.Controller.UserController"/>

  由自己写一个控制器,实现Controller接口,实现handleRequest方法,用于完成model层和view层的控制

  ④视图解析器

1 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
2         <property name="prefix"  value="/WEB-INF/views"/>
3         <property name="suffix" value=".jsp"/>
4     </bean>

  配置视图(jsp)的前缀和尾缀,然后该页面过来的请求均会由sprintmvc来控制

  ps(上述配置的使用为常见配置,还有其他配置方式,后续会详细介绍)

  3.开发控制器

 1 import org.springframework.web.servlet.ModelAndView;
 2 import org.springframework.web.servlet.mvc.Controller;
 3 
 4 public class UserController implements Controller {
 5     @Override
 6     public ModelAndView handleRequest(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws Exception {
 7         //返回的jsp视图
 8         ModelAndView mv = new ModelAndView("/user/userList");
 9         mv.addObject("name","yaoyao");
10         return mv;
11     }
12 }

  主要要点,1.实现Controller接口中的handleRequest方法,2.返回ModelAndView的对象,该对象是对request的封装,不返回该类型的值会报错

  4.开发页面

 1 <%@ page contentType="text/html;charset=UTF-8" language="java"
 2     pageEncoding="UTF-8" %>
 3 <%@page isELIgnored="false" %>
 4 <html>
 5 <head>
 6     <title>Title</title>
 7 </head>
 8 <body>
 9 用户列表界面
10 ${name}
11 </body>
12 </html>

  <%@page isELIgnored="false" %>EL表达式配置,不配置EL表达式不生效

 

最终效果如下:

  

  

  

  

  

猜你喜欢

转载自www.cnblogs.com/yyfighting2019/p/11919297.html
今日推荐