Spring MVC
1. DispatchServlet收到用户请求,根据处理器映射和配置分发给controller(一个实例新建线程)进行处理。
2. Controller处理完毕后,返回一个ModelAndView对象。
3. DispatchServlet根据视图解析器和配置,找到相应的显示页面,解析返回。
优点
Spring mvc
1. 映射处理器,视图解析器等更加灵活
2. 和表现层技术,其他框架无缝集成
使用步骤
1. 在web.xml配置DispatchServlet
<servlet>
<description></description>
<servlet-name>Dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcherContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
2. 在dispatch.xml中配置处理器映射和视图解析器
3. 在dispatch.xml加入对注解的支持
4. 开发action和jsp
Actionform
异常配置
标签库
<form:/>
Struts 1
优点
1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现.
2. 有丰富的tag可以用,Struts的标记库(Taglib),如能灵活动用,则能大大提高开发效率
3. 页面导航
使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
4. 提供Exception处理机制。
使用步骤
1.在web.xml配置ActionServlet
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
2.在struts-config.xml中配置Action和JSP。
3.开发Action和JSP,并配置注入
Actionform
异常配置
标签库
<html:/>
Struts 2
优点
1. Struts 1 Action是单例模式并且必须是线程安全的,Action的一个实例来处理所有的请求,Action资源必须是线程安全的或同步的。Struts 2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。
2. Struts 1使用ActionForm对象封装用户的请求参数,开发者需要大量创建ActionForm类封装用户请求参数。虽然Struts 1提供了动态ActionForm来简化ActionForm的开发,但任然需要在配置文件中定义ActionForm。Struts 2直接使用Action属性来封装用户请求属性,避免大量开发ActionForm。
使用步骤
1. 在web.xml配置StrutsPrepareAndExecuteFilter
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
2. 在struts.xml中配置Action和JSP
<package name="loginAction"extends="default"namespace="/">
<action name="login"class="loginAction"method="login">
<result name="success">/index.jsp</result>
<result name="fail">/login.jsp</result>
</action>
<action name="loginOut"class="loginAction"method="loginOut">
<result name="success">/login.jsp</result>
</action>
</package>
3. 开发Action和JSP,并配置注入
<bean id="businessActon"class="com.jd.MWB.web.struts.action.BusinessActon"
scope="prototype">
<property name="businessesManager"ref="businessesManager"/>
</bean>
Actionform
异常配置
标签库
<s:/>