springMVC框架学习笔记
2016-08-22 11:31
423 查看
SpringMVC
C部分DispatcherServlet,controller
M部分Model,ModelAndView
V部分ViewResolver
SpringMVC流程
1客户端发出springMVC请求,请求进入DispatcherServlet主控制器
2DispatcherServlet主控制器调用HandlerMapping组件
3HandlerMapping组件根据请求找相应的Controller组件
4主控制器执行Controller处理,处理中可以调用DAO,最后返回一个ModelAndView结果对象
5主控制器调用ViewResoulver解析ModelAndView对象,找到相应的jsp视图组件,生成响应界面
6将生成的响应界面给客户浏览输出
-----------------------------------------
SpringMVC使用步骤
a 首先引入springIOC和Webmvc开发包
b 在src中引入applicationContext.xml
c 在web.xml配置DispatcherServlet
d 在applicationContext.xml配置HandlerMapping
e 编写COntroller
,DAO,在applicationContext.xml中配置Controller
f 在applicationContext.xml配置ViewResoler
g 编写视图组件jsp
第一步-----
在web.xml中配置DispatcherServlet
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>//DispatcherServlet 靠contextConfigLocation去加载HandlerMapping
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.from</url-pattern>
</servlet-mapping>
第二步--------
写controller方法,Controller有约定,要实现Controller接口
public class welcomeController implement Controller{
public ModelAndView handleRequest(HttpServletRequest req,HttpServletResponse res)throws Exception{
默认执行handleRequest方法
return new ModelAndView("welcome");
}
}
第三步--------
在容器中配置对象,在applicationContext.xml中添加
<bean id="welcomeController" class="包名.WelcomeController"></bean>
第四步---------
请求如何去找到对应的Controller,需要在applicationContext.xml中配置HandlerMapping通过他去找到
web.xml 中添加添加 HandlerMapping组件
HandlerMapping有多种,根据自己需要使用一个如:
<bean id="handlerMapping" class="org.springframwork.web,servlet.handler.SimpleUrlHandlerMapping"
<property name="mappings">
<props>
<prop key="/welcom.from">welcomeController</prop> //welcomeController是上面WelcomeController的id名
</props>
</property>
</bean>
第五步---------
Controller中返回ModelAndView,通过ViewResolver解析获得相应的jsp所以在applicationContext中配置ViewResolver
<bean class="org.springframework.web.servlet.biew.InternalResourceViewResolver">
<property name="prefix" value="/">
</proterty>
<property name="suffix" value=".jsp">
</proterty>
</bean>
ViewResolver根据prefix和suffix和ModelAndView的返回值welcome拼接了/welcome.jsp
---------------------------------------------------------------------------------
springMVC流程
在web.xml中加<load-on-startup>1</load-on-startup>在启动tomcat的时候就创建了DispatcherServlet然后加载了applicationContext.xml
不加<load-on-startup>1</load-on-startup>在定一次发送请求的时候创建DispatcherServlet
HandlerMapping组件
在SpringMVC中提供了多种类型的HandlerMapping可以按照不同规则定位Controller
如(1)SimplerUrlHandlerMapping
靠注入mappings信息,根据URL找到对应id的Controller组件
(2) BeanNameUrlHandlerMapping
按照请求URI
b77c
当作id寻找controller
<bean class="org.springframwork.web,servlet.handler.BeanNameUrlHandlerMapping"
</bean>
<bean name="/welcome.from" class="XXX.WelcomeController">
</bean>
(3) RequestMappingHandlerMapping 支持@RequestMapping()注解标记自定请求URI
<bean class="org.springframwork.web,servlet.method.annotation.requestMappingHandlerMapping"
</bean>
<bean class="org.springframwork.web,servlet.method.annotation.requestMappingHandlerAdapter"
</bean>
这两个HandlerMapping需要配合着一起使用
<context:component-scan base-packgge="org.包名"/>
然后再Controller中方法上方添加注释如
@Cotroller
@RequestMapping("/demo") 区分模块//demo/welcome.from
public class welcomeController implement Controller{
@RequestMapping("/welcome.from")
public ModelAndView handleRequest(HttpServletRequest req,HttpServletResponse res)throws Exception{
默认执行handleRequest方法
return new ModelAndView("welcome");
}
}
为了方便编程,在applicationContext中配置HandlerMapping<bean class="org.aprch.servelt....XXHandlerMapping"/>组件的方式
最后演变为添加标签<mvc:annotation-driven/>这个标签实际上已经添加了所有的HandlerMapping,取代了以上的HandlerMapping组件,直接
在controller上加标签
Controller组件必须实现Controller接口,如果用@Controller注解进行组建扫描,这可以不用实现Controller接口,
默认实现Controller,同时Controller可以随便命名,当Controller需要返回数据的时候用ModelAndView类型,如果不需要
返回数据,Controller则可以使用String类型,Controller中如果需要可以添加参数HttpServletRequest,HttpServletResponse,HttpServletSession
同时可以不用抛出Exception
注意:@requestMapping()加在方法名上面是寻找Controller方法,加在类名上面是避免请求名重复冲突,也便于请求分组管理
C部分DispatcherServlet,controller
M部分Model,ModelAndView
V部分ViewResolver
SpringMVC流程
1客户端发出springMVC请求,请求进入DispatcherServlet主控制器
2DispatcherServlet主控制器调用HandlerMapping组件
3HandlerMapping组件根据请求找相应的Controller组件
4主控制器执行Controller处理,处理中可以调用DAO,最后返回一个ModelAndView结果对象
5主控制器调用ViewResoulver解析ModelAndView对象,找到相应的jsp视图组件,生成响应界面
6将生成的响应界面给客户浏览输出
-----------------------------------------
SpringMVC使用步骤
a 首先引入springIOC和Webmvc开发包
b 在src中引入applicationContext.xml
c 在web.xml配置DispatcherServlet
d 在applicationContext.xml配置HandlerMapping
e 编写COntroller
,DAO,在applicationContext.xml中配置Controller
f 在applicationContext.xml配置ViewResoler
g 编写视图组件jsp
第一步-----
在web.xml中配置DispatcherServlet
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>//DispatcherServlet 靠contextConfigLocation去加载HandlerMapping
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.from</url-pattern>
</servlet-mapping>
第二步--------
写controller方法,Controller有约定,要实现Controller接口
public class welcomeController implement Controller{
public ModelAndView handleRequest(HttpServletRequest req,HttpServletResponse res)throws Exception{
默认执行handleRequest方法
return new ModelAndView("welcome");
}
}
第三步--------
在容器中配置对象,在applicationContext.xml中添加
<bean id="welcomeController" class="包名.WelcomeController"></bean>
第四步---------
请求如何去找到对应的Controller,需要在applicationContext.xml中配置HandlerMapping通过他去找到
web.xml 中添加添加 HandlerMapping组件
HandlerMapping有多种,根据自己需要使用一个如:
<bean id="handlerMapping" class="org.springframwork.web,servlet.handler.SimpleUrlHandlerMapping"
<property name="mappings">
<props>
<prop key="/welcom.from">welcomeController</prop> //welcomeController是上面WelcomeController的id名
</props>
</property>
</bean>
第五步---------
Controller中返回ModelAndView,通过ViewResolver解析获得相应的jsp所以在applicationContext中配置ViewResolver
<bean class="org.springframework.web.servlet.biew.InternalResourceViewResolver">
<property name="prefix" value="/">
</proterty>
<property name="suffix" value=".jsp">
</proterty>
</bean>
ViewResolver根据prefix和suffix和ModelAndView的返回值welcome拼接了/welcome.jsp
---------------------------------------------------------------------------------
springMVC流程
在web.xml中加<load-on-startup>1</load-on-startup>在启动tomcat的时候就创建了DispatcherServlet然后加载了applicationContext.xml
不加<load-on-startup>1</load-on-startup>在定一次发送请求的时候创建DispatcherServlet
HandlerMapping组件
在SpringMVC中提供了多种类型的HandlerMapping可以按照不同规则定位Controller
如(1)SimplerUrlHandlerMapping
靠注入mappings信息,根据URL找到对应id的Controller组件
(2) BeanNameUrlHandlerMapping
按照请求URI
b77c
当作id寻找controller
<bean class="org.springframwork.web,servlet.handler.BeanNameUrlHandlerMapping"
</bean>
<bean name="/welcome.from" class="XXX.WelcomeController">
</bean>
(3) RequestMappingHandlerMapping 支持@RequestMapping()注解标记自定请求URI
<bean class="org.springframwork.web,servlet.method.annotation.requestMappingHandlerMapping"
</bean>
<bean class="org.springframwork.web,servlet.method.annotation.requestMappingHandlerAdapter"
</bean>
这两个HandlerMapping需要配合着一起使用
<context:component-scan base-packgge="org.包名"/>
然后再Controller中方法上方添加注释如
@Cotroller
@RequestMapping("/demo") 区分模块//demo/welcome.from
public class welcomeController implement Controller{
@RequestMapping("/welcome.from")
public ModelAndView handleRequest(HttpServletRequest req,HttpServletResponse res)throws Exception{
默认执行handleRequest方法
return new ModelAndView("welcome");
}
}
为了方便编程,在applicationContext中配置HandlerMapping<bean class="org.aprch.servelt....XXHandlerMapping"/>组件的方式
最后演变为添加标签<mvc:annotation-driven/>这个标签实际上已经添加了所有的HandlerMapping,取代了以上的HandlerMapping组件,直接
在controller上加标签
Controller组件必须实现Controller接口,如果用@Controller注解进行组建扫描,这可以不用实现Controller接口,
默认实现Controller,同时Controller可以随便命名,当Controller需要返回数据的时候用ModelAndView类型,如果不需要
返回数据,Controller则可以使用String类型,Controller中如果需要可以添加参数HttpServletRequest,HttpServletResponse,HttpServletSession
同时可以不用抛出Exception
注意:@requestMapping()加在方法名上面是寻找Controller方法,加在类名上面是避免请求名重复冲突,也便于请求分组管理
相关文章推荐
- springmvc学习笔记一框架的理解
- springMVC学习笔记(一) ---- 搭建框架
- SpringMVC学习笔记(2) 框架配置+HelloWorld(注解版)
- springmvc学习笔记(1)-框架原理和入门配置
- 学习SSM框架笔记五:利用五大组件采取配置文件和SpringMVC模式写HelloWorld
- SpringMVC学习笔记(3) 框架配置+HelloWorld(非注解版)
- dubbo学习笔记3 SpringMvc框架web形式 dubbo服务搭建 消费者
- springMVC+Mybatis 学习笔记-【1】Mybatis的框架原理
- springMVC学习笔记---day02 springMVC+spring+mybatis整合开发框架搭建
- SpringMVC框架学习笔记
- SpringMVC框架学习笔记(3)——controller配置汇总
- SpringMVC框架学习笔记
- SpringMVC框架学习笔记(6)——拦截器
- SpringMVC框架学习笔记——各种异常、报错解决
- springmvc学习笔记(1)-框架原理和入门配置
- SpringMVC框架学习笔记(4)——结果跳转方式
- SpringMVC框架学习笔记(1)——HelloWorld
- # springmvc学习笔记(1)-框架原理和入门配置
- SpringMVC框架学习笔记(5)——数据处理
- Spring学习笔记-springMVC校验框架