Struts2入门学习(一)
来源:互联网 发布:小程序跳转到淘宝app 编辑:程序博客网 时间:2024/06/09 14:15
Struts2框架
- 什么是软件框架:
1、框架 是 实现部分功能的代码 (半成品),使用框架简化企业级软件开发 ,提高开发效率。
2、框架已经实现了一些基础功能,这样就可以提高开发效率!
- struts2框架简述:
1、Struts 2是在 struts 1和webwork的技术基础上进行了合并的全新的Struts 2框架。
2、其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以webwork为核心
3、struts2=struts1+webwork;
4、struts2是一个标准的mvc框架。
- XWork—它是webwork核心,提供了很多核心功能:
1、前端拦截机(interceptor)
2、运行时表单属性验证
3、强大的表达式语言(OGNL – the Object Graph Navigation Language)
4、IoC(Inversion of Control反转控制)容器等
- struts2框架核心功能:
1、请求数据自动封装;
2、文件上传的功能;
3、对国际化功能的简化;
4、更强大、更易用输入校验功能;
…..
Struts2框架入门
- index.jsp——>HelloServlet——–>hello.jsp web开发流程
- index.jsp——>HelloAction———>hello.jsp struts2流程
接下来就是开发阶段
- 前往Apache Struts开源网站去下载Struts源码及Jar包:http://struts.apache.org/download.cgi
- 导入Struts运行必要jar包(8个):
- struts2-core-2.3.1.1.jar(Struts 2框架的核心类库)
- xwork-core-2.3.1.1.jar(Command模式框架,WebWork和Struts2都基于xwork )
- ognl-3.0.3.jar(对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性)
- freemarker-2.3.19.jar (struts的标签模板库jar文件)
- commons-logging-1.1.x.jar(Struts 2框架使用这个日志,包来支持Log4J和JDK 1.4+的日志记录)
- commons-fileupload-1.2.2.jar(文件上传组件,2.1.6版本后需要加入此文件)
- commons-io-2.0.1.jar(传文件依赖的jar包)
- commons-lang-2.5.jar:(对java.lang包的增强)
- 在web.xml中引入struts核心过滤器:
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
.
4. 开发Action
注意:
1. action类,也叫做动作类; 一般继承ActionSupport类
即处理请求的类 (struts中的action类取代之前的servlet)
2. action中的业务方法,处理具体的请求
(1)必须返回String
(2)方法不能有参数
public class HelloAction extends ActionSupport { // 处理请求 public String execute() throws Exception { System.out.println("Hello Struts"); return "succeed"; }}
.
5. 配置strurs.xml:
<package name="default" namespace="/" extends="struts-default"> <action name="hello" class="cn.itcast.action.HelloAction" method="say"> <result name="succeed">/hello.jsp</result> </action> </package>
strurs.xml配置说明:
package 定义一个包。 包作用,管理action。 (通常,一个业务模板用一个包)name 包的名字; 包名不能重复;extends 当前包继承自哪个包 在struts中,包一定要继承struts-default struts-default在struts-default.xml中定的包abstract 表示当前包为抽象包; 抽象包中不能有action的定义,否则运行时期报错,abstract=true 只有当当前的包被其他包继承时候才用!如: <package name="basePackage" extends="struts-default" abstract="true"></package> <package name="user" extends="basePackage">namespace 名称空间,默认为"/" 作为路径的一部分 访问路径= http://localhost:8080/项目/名称空间/ActionName action 配置请求路径与Action类的映射关系 name 请求路径名称 class 请求处理的aciton类的全名 method 请求处理方法 result name action处理方法返回值 type 跳转的结果类型 标签体中指定跳转的页面
6.在index.jsp中添加连接,测试
<a href="${pageContext.request.contextPath}/hello">第一次使用struts2</a>注:hello 是strurs.xml中的action中的name的值
部署项目到tomcat,run起来。控制台就会输出‘Hello Struts’。
struts-default.xml, 详解
- 目录:struts2-core-2.3.4.1.jar/ struts-default.xml
- bean节点指定struts在运行的时候创建的对象类型
- 指定struts-default包 【用户写的package(struts.xml)一样要继承此包 】package struts-default 包中定义了:
a. 跳转的结果类型 dispatcher 转发,不指定默认为转发 redirect 重定向 redirectAction 重定向到action资源 stream (文件下载的时候用)b. 定义了所有的拦截器 定义了32个拦截器! 为了拦截器引用方便,可以通过定义栈的方式引用拦截器, 此时如果引用了栈,栈中的拦截器都会被引用! defaultStack 默认的栈,其中定义默认要执行的18个拦截器!c. 默认执行的拦截器栈、默认执行的action <default-interceptor-ref name="defaultStack"/> <default-class-ref class="com.opensymphony.xwork2.ActionSupport" />
- Struts2入门学习(一)
- Struts2学习笔记一之Struts2入门
- Struts2学习笔记(一)入门示例
- SSH学习(一)Struts2入门
- Struts2学习(一)---初入门
- 【Struts2一】入门
- Struts2入门(一)
- struts2入门(一)
- Struts2入门(一)
- Struts2入门(一)
- Struts2入门(一)
- Struts2 入门学习笔记(一)——基本配置
- (学习笔记)Struts2.3.3 入门与配置(一)
- Struts2 入门学习
- struts2入门学习
- Struts2入门学习
- 学习 -- Struts2框架入门
- Struts2框架入门学习
- JavaScript中原型对象的彻底理解
- 银河麒麟服务器操作系统常用问题及解决方案
- MISARC 协议规范
- coredump简介与coredump原因总结
- Session
- Struts2入门学习(一)
- QT IP窗口源码
- mysql启动与配置
- feed流整理
- Centos安装Mongodb客户端
- Android SQLite 注意点(问题解决)
- 运维 10/14.15 练习题
- sqlserver游标小实例循环列表
- TP5 在模板读出Session值