- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Struts学习过程
TST-Struts2007第一课
MVC概要:
控制器:是由servlet组件来完成,当用户请求访问某个servlet时,servlet容器会创建一个servletRequest对象和servletResponse对象封装了用户请求的信息;然后servlet容器把servletRequest对象和servletResponse对象传给用户所请求的servlet,servlet把响应结果传给用户;执行过程如下:(控制器
.ActionServlet类RequestProcessor类Action类ActionForward类/eredlab/blog/item/841ae4c803e413167e3e6f50.html
)
其中servlet有几个比较重要API:
HttpServletRequest:servlet容器把http请求信息保存在HttpServletRequest对象中,servlet组件从Request对象中读取用户请求的数据,并且HttpServletRequest对象还可以存放request范围内的共享数据;
HttpServletResponse:用于生成Http响应结果;
HttpSession: Servlet容器为每个http会话创建一个httpsession实例,httpsession可以存放session范围所共享的数据;
ServletContext:Servlet容器为每个web应用创建一个ServletContext实例,ServletContext
可以为Application范围存放共享数据;
Jsp组件初次编译过程:
共享数据在web应用中的范围:
Page:当前jsp页面;
Request:用户请求访问的当前web组件以及和当前web
组件共享同一用户请求的其他web组件。如果请求的是jsp页面那么该jsp页面通过@include和forward包含的其他jsp也能共享这个数据;(服务器响应完用户请求关闭)
Session:整个会话周期;(浏览器关闭,过期)
Application:整个web应用生命周期;
(/biancheng/Jsp/JSPpagerequestsessionapplication-dqw501947.html)
Web组件的三种关联关系:
请求转发:
请求转发允许把请求转发给同一应用程序中的其他web组件。Servlet类使用javax.servlet.RequestDispatcher.forward()方法来转发它所收到的HTTP请求。最初请求的ServletRequest和ServletResponse对象被传递给转发目标组件,这使得转发目标组件可以访问整个请求的上下文。注意:只能把请求转发给同一web应用中的组件,而不能转发给其他web应用中的组件。在当前的Servlet的service()方法中执行以下代码来请求转发一个JSP组件:RequestDispatcher rd = request.getRequestDispatcher(hello.jsp);rd.forward(request, response); 在JSP文件中,可以通过jsp:forward标签来转发请求,例如: jsp:forward page=hello.jsp / URL重定向类似请求转发,但也有一些重要的区别:web组件可以将请求重定向到任一URL,而不仅仅是同一web应用中的URL. 重定向的源组件和目标组件不共用同一个HttpServletRequest对象,因此不能共享request范围内的共享数据。在Servlet中可以执行以下代码请求重定向: response.sendRedirect(); 包含关系允许一个web组件聚集来自同一个应用中其他web组件的输出数据,并使用被聚集的数据来创建响应结果。这种技术通常用于模板处理器,也可以控制网页布局。 在Servlet的service()方法中执行以下代码可以包含其他web组件: RequestDispatcher rd;rd = request.getResquestDispatcher(/header.jsp);rd.include(request, response); 在JSP文件中,可以通过include指令来包含其他web资源,例如: %@ include file=header.jsp %
Struts实现mvc的机制:
个人总结:
浏览器web服务器:通过httpSevletrequest和httpservletResponse?实现
Web服务器servlet容器:Sevletrequest和servletResponse
文档评论(0)