- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
struts2笔记汇总
什么是MVC,什么是Web框架,struts2框架背景简介
V 视图器
C 控制器
M 模型器 [实体]
如果有一个通用的应用程序,在MVC层中使用,主要解决MVC中的常用功能(表单参数的获取,页面路径的重定向或转发,。。)
我们将这个在MVC层中的通用的应用程序,叫Web框架。
Web框架只限于MVCWeb层 struts2快速入门(体验) 创建web应用
导入struts2核心jar包
配置struts2的核心控制器,类似于CoreServlet能处理的请求 web.xml
!-- struts2核心过滤器 --
filter
filter-namestruts2/filter-name
filter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class
/filter
filter-mapping
filter-namestruts2/filter-name
url-pattern/*/url-pattern
/filter-mapping
strust2控制器能处理当前web应用下所有请求
StrutsPrepareAndExecuteFilter类是框架写好的
写一个普通类,无任何ServletAPI
public class HelloWorldAction {
public String execute(){
System.out.println(欢迎学习Struts2课程);
return 字符串;
}
}
在IDE工具的src/struts.xml的文件
struts
package name=default extends=”struts-default” namespace=”/”
action
name=add
class=cn.itcast.web.struts2.action.HelloWorldAction
method=execute
result name=success type=dispatcher
/success.jsp
/result
/action
/package
/struts
部署web应用,通过浏览器访问:
:8080/day31/add.action回车
struts2工作流程(理解)
(1)struts2以Filter形式出现,它是核心控制器,实现了Filter接口,
(2)在部署web应时,web.xml文件和struts.xml文件,以及框架自带的xml都加载到内存,并解析成功,在内存中
形成javabean对象,该对象的属性值就是xml文件中的内容,该javabean对应常住内存。
一旦修改xml文件,则重新加载新的xml文件,并解析,形成javabean对象,该javabean对应常住内存。
(3)struts2核心控制器,过滤web应用中的所有请求,如果请求的模式符合/*的模式,就交给StrutsPrepareAndExecuteFilter
处理
(4)struts2核心控制器,根据请求名,查询对应的处理类,访问指定的方法,进行调用
(5)处理类返回一个逻辑路径(字符串), struts2核心控制器,根据逻辑路径,查询对应的真实路径和跳转的方式,
然后转定指定的页面
(6)跳转到指定的页面,进行处理
4 struts2其本配置详解
1)访问Action的组成
:8080/day31/add.action回车
名称空间 拼上 请求路径
2)测试Action的访问路径规则
目前我的namespace是/(默认)
:8080/day31/a/b/c/d/e/f/g/add.action
/a/b/c/d/e/f/g=====名称空间
/add.action========请求路径
(1)/a/b/c/d/e/f/g=====名称空间 找不到
(2)/a/b/c/d/e/f=======名称空间 找不到
(3)/a/b/c/d/e==========名称空间 找不到
... ...
(n)/a==================名称空间 找不到
(n+
文档评论(0)