struts2学习笔记一 基本配置及动态方法
2015-06-18 15:05
731 查看
1.通过maven依赖引入Struts2需要的关键jar包,包括:
struts-core-2.3.24.jar :struts2核心框架包
xwork-core-2.3.24.jar:xwork类库,struts2架构在其基础之上
freemarker-2.3.22.jar:struts2 UI标签的模版是用freemarker做的
ognl-3.0.6.jar :对像图导航语言(刚开始学struts2 还不知道其具体用法)
commons.io-2.2.jar
2.web.xml配置
<web-app>
<display-name>Archetype Created Web Application</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<!-- 如果struts.xml文件放在classes目录下,则不需要以下红色部分,可以将struts-constant.xml中的
常量配置合并到struts.xml中-->
<!-- 如果struts.xml是按照classesstruts/struts.xml路径来存放的则需要增加以下红色部分,同时struts- default.xml,struts-plugin.xml也必须要添加-->
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,struts/struts.xml,struts/struts-constant.xml
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
注意点:
1).若设置了<param-name>config</param-name>参数,那struts-default.xml等原来struts2默认加载的文件也要手动指定,否则
不会自动加载
2). struts-plugin.xml也需要指定。因为在struts2使用2.1.6版本时:
若需要和spring集成的话,struts2-spring-plugin-2.1.6.jar中有struts-plugin.xml这个文件。
若struts2要支持json的话, json-plugin-0.34.jar中也有一个叫struts-plugin.xm的文件。
因此这个文件也是要加载的。
3). 若不在这里配置struts-default.xml,struts-plugin.xml,也可以在struts.xml文件中添加include标签将两个文件包括进去。
<include file="struts-default.xml" />和<include file="struts-plugin.xml" />
4).struts/struts-constant.xml用来配置struts2的常量。
为了支持 http://localhost:8080/struts-test/test/login!list.action(动态方法)方式请求,需要增加
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
此处struts2还提供了很多常量配置,可以参考struts2的官方文档
3.struts.xml配置
新建HelloWorld.java
public class HelloWorld extends ActionSupport{
public String login() throws Exception
{
System.out.println("login方法");
return "login";
}
public String list() throws Exception{
System.out.print("list 方法");
return "list";
}
1)动态方法配置:
<struts>
<package name="default" namespace="/test" extends="struts-default">
<action name="login" class="HelloWorld" >
<result name="login">/index.jsp</result>
<result name="list">/index.jsp</result>
</action>
</package>
</struts>
访问路径:http://localhost:8080/struts-test/test/login!list.action 此URL请求的是HelloWorld中的list方法
2)一般常规配置
<action name="hello_login" class="HelloWorld" method="login" >
<result name="login">/index.jsp</result>
</action>
<action name="hello_list" class="HelloWorld" method="list" >
<result name="list">/index.jsp</result>
</action>
请求路径:http://localhost:8080/struts-test/test/hello_list
注:此配置方式的缺点是需要配置太多个action标签
struts-core-2.3.24.jar :struts2核心框架包
xwork-core-2.3.24.jar:xwork类库,struts2架构在其基础之上
freemarker-2.3.22.jar:struts2 UI标签的模版是用freemarker做的
ognl-3.0.6.jar :对像图导航语言(刚开始学struts2 还不知道其具体用法)
commons.io-2.2.jar
2.web.xml配置
<web-app>
<display-name>Archetype Created Web Application</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<!-- 如果struts.xml文件放在classes目录下,则不需要以下红色部分,可以将struts-constant.xml中的
常量配置合并到struts.xml中-->
<!-- 如果struts.xml是按照classesstruts/struts.xml路径来存放的则需要增加以下红色部分,同时struts- default.xml,struts-plugin.xml也必须要添加-->
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,struts/struts.xml,struts/struts-constant.xml
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
注意点:
1).若设置了<param-name>config</param-name>参数,那struts-default.xml等原来struts2默认加载的文件也要手动指定,否则
不会自动加载
2). struts-plugin.xml也需要指定。因为在struts2使用2.1.6版本时:
若需要和spring集成的话,struts2-spring-plugin-2.1.6.jar中有struts-plugin.xml这个文件。
若struts2要支持json的话, json-plugin-0.34.jar中也有一个叫struts-plugin.xm的文件。
因此这个文件也是要加载的。
3). 若不在这里配置struts-default.xml,struts-plugin.xml,也可以在struts.xml文件中添加include标签将两个文件包括进去。
<include file="struts-default.xml" />和<include file="struts-plugin.xml" />
4).struts/struts-constant.xml用来配置struts2的常量。
为了支持 http://localhost:8080/struts-test/test/login!list.action(动态方法)方式请求,需要增加
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
此处struts2还提供了很多常量配置,可以参考struts2的官方文档
3.struts.xml配置
新建HelloWorld.java
public class HelloWorld extends ActionSupport{
public String login() throws Exception
{
System.out.println("login方法");
return "login";
}
public String list() throws Exception{
System.out.print("list 方法");
return "list";
}
1)动态方法配置:
<struts>
<package name="default" namespace="/test" extends="struts-default">
<action name="login" class="HelloWorld" >
<result name="login">/index.jsp</result>
<result name="list">/index.jsp</result>
</action>
</package>
</struts>
访问路径:http://localhost:8080/struts-test/test/login!list.action 此URL请求的是HelloWorld中的list方法
2)一般常规配置
<action name="hello_login" class="HelloWorld" method="login" >
<result name="login">/index.jsp</result>
</action>
<action name="hello_list" class="HelloWorld" method="list" >
<result name="list">/index.jsp</result>
</action>
请求路径:http://localhost:8080/struts-test/test/hello_list
注:此配置方式的缺点是需要配置太多个action标签
相关文章推荐
- Java闲言碎语二三讲
- java 继承类与接口问题
- 使用eclipse怎样打开已有工程
- Java IO: 管道
- 【Java】使用Calendar类来获取当前的日期
- java.util.logging.Logger使用详解
- javax.swing.JList 设置分割线
- 【java设计模式】装饰者模式
- 对于java文件不能访问的情况分析
- 浅谈Java SE、Java EE、Java ME三者的区别
- java中如何对Double类型进行四舍五入操作
- Java基础--多线程2
- android ICS 通过eclipse编译后在bin目录下没有APK的解决办法
- eclipse 刷新属性视图
- Java IO流
- SimpleDateFormat在jdk不同版本的差异
- 我的Java开发学习之旅------>Java经典排序算法之插入排序
- JDK各个版本的新特性
- java自带线程池和队列详细讲解
- 【Java线程】锁机制:synchronized、Lock、Condition