zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    反向迭代
    c++知识点
    LeetCode-Count Bits
    LeetCode-Perfect Rectangle
    LeetCode-Perfect Squares
    LeetCode-Lexicographical Numbers
    LeetCode-Find Median from Data Stream
    LeetCode-Maximal Square
    LeetCode-Number of Digit One
    LeetCode-Combination Sum IV
  • 原文地址:https://www.cnblogs.com/Dm920/p/11741295.html
Copyright © 2011-2022 走看看