struts2和servlet区别
来源:互联网 发布:ubuntu无法创建文件夹 编辑:程序博客网 时间:2024/06/06 13:23
转载自:http://blog.csdn.net/qiluluwawa/article/details/8619568
主要整合Hibernate技术
1、分析的servlet
客户端--->web容器-->web.xml-->servlet来处理 ----->model-->数据库
(web.xml返回信息)
(1)//转发
request.setAttribute(“username”,username);(存入)
request. getRequestDispatcher (“manager/index.jps”).forward(request,response);
然后在jsp页面中使用 ${username}显示
(2)//重定向
response.sendRiedirect();
2、分析 struts2
客户端----->web容器--->web.xml-->struts2过滤器--->struts.xml--->Action--->model--->数据库
(Action返回信息 Action 要想把数据传递给jsp)
3、Struts2中结果集类型
(1)每个action方法都返回一个String类型的值,struts一次请求返回什么值是由这个值确定的。
(2)在配置文件中,每一个action元素的配置都必须有result元素,每一个result对应一个action的返回值。
(3)Result有两个属性:
name:结果的名字,和action中的返回值一样,默认值为success;
type:响应结果类型,默认值为dispatcher.
(4)说明:
1、 从上述可以看出总共10种类型
2、 默认类型为ServletDispatcherResult即转发。
3、 结果类型可以是这10种结果类型的任意一种。
4、主要介绍几种类型:
(1)Dispatcher类型是最常用的结果类型,也是struts框架默认的结果类型。
在配置文件中,可以有两种写法:
第一种:
<result type=”dispatcher”name=”success”>/manager/index.jsp</result>
第二种:
<result name=”success”type=”dispatcher”>
<param name=”location”>/manager/index.jsp</param></result>
(2)Redirect类型属于重定向。如果用redirect类型,则在reuqest作用域的值不能传递到前台。
(3)redirectAction类型把结果类型重新定向到action可以接受两种参数
actionName: action的名字
namespace:命名空间
例子
第一种方式:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
第二种方式:
<result name="success"type="redirectAction">
<!-- actionName:请求的action的路径
namespace:如果不写,默认就是请求的action的路径,如果写,路径将被重新赋值-->
<paramname="actionName">
resulttype/redirectactionAction.action
</param>
</result>
请求的路径
http://localhost:8080/project/csdn/csdn/delete.action?name=aa
Namespace=”csdn/csdn/”
<package name=”ss” namespace=”/csdn/csdn”>
<action=”delete”>
</package>
<package name=”test” namespace=”/csdn”>
<action=”delete”>
</package>
<package name=”sss” namespace=””>
<action=”delete”>
</package>
5、Action名称的搜索顺序
(1)、获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action
(2).首先寻找namespace为/path1/path2/path3的package,如果存在这个package,则在这个package中寻找名字为test的action,如果不存在这个package则转步骤3;
(3).寻找namespace为/path1/path2的package,如果存在这个package,则在这个package中寻找名字为test的action,如果不存在这个package,则转步骤4;
(4).寻找namespace为/path1的package,如果存在这个package,则在这个package中寻找名字为test的action,如果仍然不存在这个package,就去默认的namaspace的package下面去找名字为test的action(默认的命名空间为空字符串""),如果还是找不到,页面提示找不到action。
Action原型 struts2
Prototype 原型 每次请求都会创建一个新的Action对象
Singleton 原型 当第一次请求时,创建servlet对象之后每次都使用该对象即可。
Servlet的生命周期:创建---init---service---destory
- struts2和servlet区别
- struts2和servlet区别
- struts2和servlet区别
- struts2和servlet区别
- struts2和servlet区别
- struts2和servlet区别
- servlet和struts2的区别和联系
- Struts2和Servlet下载文件的区别
- Struts2和Servlet下载文件的区别
- Struts2的学习及Struts2和Servlet的区别
- Struts2的Action和Servlet有什么联系,区别?
- Struts2和Servlet在上传文件时的区别
- Servlet和struts2
- Servlet与Struts2的区别
- Servlet和Struts2的交互
- Servlet和Struts2的交互
- 让struts2和servlet共存
- Struts2与Servlet区别与联系
- MJRefresh下拉加载的时候,视图不会回到原来的,而是上移一段距离
- POJ--1995--Raising Modulo Numbers
- 【SQL Server Hardware】Windows Server下启用SQL Server 2008的远程连接
- OpenCV和Cuda结合编程
- HDU 3644 模拟退火的火候控制
- struts2和servlet区别
- 学习笔记——AutoCompleteTxetView
- 【LeetCode】268 Missing Number
- unity(ACT)简单实现连击功能
- 一起talk C栗子吧(第四十一回:C语言实例--哈夫曼树)
- 黑马程序员_java基础之IO流(一)
- Hibernate关系映射总结
- performSegue的执行过程
- [leetcode] 268.Missing Number