Servlet与Struts的区别
2024-09-06 10:18:25
启动:
● Servlet:无
● Struts:配置filter,设置struts入口
创建:
● 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>
封装数据:
● Servlet:使用BeanUtils工具通过name封装,BeanUtils.populate(user,request.getParameterMap());
● Struts:实现ModelDriven接口,实现getModel方法,返回一个封装数据的对象(必须要先把对象new出来),也是通过name属性进行封装;
转发与重定向:
● 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>
最新文章
- 来玩Play框架05 数据库
- 关于String的equals问题和StringBuilder问题
- 【javascript 进阶】异步调用
- SQL Server 2008 R2——ROW_NUMBER() 去掉不同行中相同列的重复内容
- 在centos使用rpm包的方式安装mysql,以及更改root密码
- android开发,关于android app实现静默安装自己(系统签名)
- ImageButton如何让图片按比例缩放不被拉伸
- JS(一)
- 关于jQuery中的$.grep()方法的使用
- 为什么有时候必须添加sys.setdefaultencoding(&#39;utf-8&#39;)
- .Net Core下通过Proxy 模式 使用 WCF
- MyBatis从入门到放弃七:二级缓存原理分析
- modbus串口通讯C#
- url的参数解析成key-value
- C#各种对话框
- Vue Element Tabe Pager 分页方案
- iTerm2连接远程-中文乱码问题
- 【转】Java学习---深入理解线程池
- Monte Carlo与TD算法
- 透过Nim游戏浅谈博弈