Servlet与Struts的区别

1)启动

Servlet:无

Struts:配置filter,设置struts入口

2)创建

Servlet:继承HttpServlet,重写doGet与doPost方法;

 添加注解或配置web.xml;

Struts:继承ActionSupport,写一个返回值为String而且抛出一个异常的函数;

 配置struts.xml 

<!-- name:配置包名 ;namespace:给action的访问路径定义一个命名空间;extends:固定形式继承struts-default -->
<package name="MyPackage" namespace="/" extends="struts-default">
<!-- action:配置action类;
       name:决定了action访问的资源名称,对应Servlet:url-pattern;
       class:action的完整类名;
       method:指定调用action中哪个方法来去处理请求 -->
<action name="LoginAction" class="com.sikiedu.web.UserAction" method="execute"> <!-- 默认为转发 --> <result name="success" type="redirect">/index.html</result> <result name="error">/login.jsp</result> </action> </package>

3)封装数据

Servlet:使用BeanUtils工具通过name封装,BeanUtils.populate(user,request.getParameterMap());

Struts:实现ModelDriven接口,实现getModel方法,返回一个封装数据的对象(必须要先把对象new出来),也是通过name属性进行封装;

4)转发与重定向

Servlet

  转发:request.getRequestDispatcher("login.jsp").forward(request, response);

  重定向:response.sendRedirect(request.getContextPath() + "/index.html");

Struts

  转发:<result name="error">/login.jsp</result>

  重定向:<result name="success" type="redirect">/index.html</result>

原文地址:https://www.cnblogs.com/Dm920/p/11741295.html