标签:自动加载 efi inter 执行 框架 添加 contex 服务器 jdb
1、客户端发送请求
2、客户端发送的请求到达服务器控制器
服务器控制器由Servlet(DispatcherServlet)实现的,来完成请求的转发
3、该控制器(DispatcherServlet)调用了一个用于映射的类HandlerMapping,
该类用于将请求映射到对应的处理器来处理请求。
4、HandlerMapping将请求映射到对应的处理器Controller(相当于Action)
在Spring当中如果写一些处理器组件,一般实现Controller接口
5、在Controller中就可以调用一些Service或DAO来进行数据操作
6、ModelAndView用于存放从DAO中取出的数据,还可以存放响应视图的一些数据
7、如果想将处理结果返回给用户,那么在Spring框架中还提供一个视图组件ViewResolver,
该组件根据Controller返回的标示,找到对应的视图并传递数据信息,将响应response返回给用户
XML配置文件方式:
A.添加依赖包
spring-context-4.2.8(其它spring依赖包会依赖导入)、spring-webmvc-4.2.8
B.添加xml配置文件
C.在web.xml中配置DispatcherServlet前端控制器组件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 5 id="WebApp_ID" version="3.0"> 6 <display-name>day</display-name> 7 <welcome-file-list> 8 <welcome-file>index.html</welcome-file> 9 <welcome-file>index.htm</welcome-file> 10 <welcome-file>index.jsp</welcome-file> 11 <welcome-file>default.html</welcome-file> 12 <welcome-file>default.htm</welcome-file> 13 <welcome-file>default.jsp</welcome-file> 14 </welcome-file-list> 15 <!-- spring的核心控制器 当tomcat容器启动的时候,会自动加载配置在web.xml的servlet,从而创建核心控制器 该核心控制器是处理所有的请求的匹配,并且调用其他的组件来处理请求 16 当前匹配逻辑是做后缀匹配 spring的核心控制器有一个属性是用来设置启动的时候加载哪些xml配置文件的 --> 17 <servlet> 18 <servlet-name>springmvc</servlet-name> 19 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 20 <!-- 当该对象初始化的时候会调用当前的信息来给bean赋初始化值 --> 21 <init-param> 22 <!-- 该参数是用来指定加载spring的主配置文件的 --> 23 <param-name>contextConfigLocation</param-name> 24 <param-value>classpath:application.xml</param-value> 25 </init-param> 26 </servlet> 27 28 <servlet-mapping> 29 <servlet-name>springmvc</servlet-name> 30 <!-- 匹配以 .do结尾的url --> 31 <url-pattern>*.do</url-pattern> 32 </servlet-mapping> 33 34 </web-app>
D.配置Spring HandlerMapping组件(分发web请求到Controller的映射)
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" xmlns:context="http://www.springframework.org/schema/context" 4 xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" 5 xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" 6 xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util" 7 xmlns:jpa="http://www.springframework.org/schema/data/jpa" 8 xsi:schemaLocation=" 9 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 10 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd 11 http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.2.xsd 12 http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.2.xsd 13 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd 14 http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd 15 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd 16 http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd 17 http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd"> 18 19 <!-- handelMapping 配置 该组件可以通过url找到对应的Controller组件 并且调用Controller对应的方法执行程序 --> 20 <bean id="handelMapping" 21 class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 22 <property name="mappings" ref="urlMaps"></property> 23 </bean> 24 25 <util:properties id="urlMaps"> 26 <prop key="/hello.do">helloController</prop> 27 <!-- 可以设置其他多个的请求和对应的Controller关系 --> 28 <prop key="/rjl.do">rjlController</prop> 29 </util:properties> 30 <!-- ################################### --> 31 <!-- 设置Controller组件的配置 必须与前面对应!!!--> 32 <bean id="helloController" class="com.rong.controller.HelloController"> 33 </bean> 34 <bean id="rjlController" class="com.rong.controller.RjlController"></bean> 35 <!-- 视图解析器设置 36 该视图解析器是由spring提供 37 prefix:前缀 38 suffix:后缀 39 视图解析器会根据Controller响应回来的视图字符串数据hello,再通过前面拼接前缀"/WEB-INF/view/"和后缀".jsp" 40 生成新字符串:/WEB-INF/view/hello.jsp 41 --> 42 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 43 <property name="prefix" value="/WEB-INF/view/"></property> 44 <property name="suffix" value=".jsp"></property> 45 </bean> 46 </beans>
E.新建Controller类并实现spring提供的Controller接口,配置该bean
1 package com.rong.controller; 2 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servlet.http.HttpServletResponse; 5 6 import org.springframework.web.servlet.ModelAndView; 7 import org.springframework.web.servlet.mvc.Controller; 8 9 public class HelloController implements Controller { 10 /** 11 * 该方法类似servlet里面的service方法,会自动被调用执行 12 * ModelAndView:是模型和视图对象,里面封装了模型层数据和响应视图数据 13 * ModelAndView("hello"):该方法可以根据"hello"设置响应视图的数据,该字符串数据会由视图解析器来处理 14 * hello是viewName:视图的名字 15 */ 16 @Override 17 public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { 18 System.out.println("Hello springmvc...HelloController!"); 19 ModelAndView modelAndView = new ModelAndView("hello"); 20 return modelAndView; 21 } 22 }
配置该bean到xml:id要与前面的prop的值对应
<bean id="helloController" class="com.rong.controller.HelloController"> </bean> <bean id="rjlController" class="com.rong.controller.RjlController"></bean>
F.添加ViewResolver组件配置
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/"></property> <property name="suffix" value=".jsp"></property> </bean>
G.新建hello.jsp页面视图组件
标签:自动加载 efi inter 执行 框架 添加 contex 服务器 jdb
原文地址:http://www.cnblogs.com/57rongjielong/p/7811424.html