Struts2的学习——1.struts2的简单配置
- 导入所需要的包。
- 在web.xml中配置struts2的前端控制器。
struts2的前端控制器其实就是一个filter过滤器,filter-name标签里面是struts2,filter-class标签里面是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
filter-class标签里面可以在struts2-core-2.3.16.1.jar包里找到,在org.apache.struts2.dispatcher.ng.filter里面可以找到,复制并去掉.class就可以了,代码如下。
web.xml:
<!-- 配置struts2的前端控制器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.class</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
- 写struts-xml文件
里面的一些文件可以由struts-default.xml文件里复制得到。struts-default.xml放置在src下面。
<!-- 配置struts2的前端控制器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.class</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
struts-xml文件代码如下所示
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- <include file="struts/configuration/system.xml"></include> -->
<package name="default" namespace="/" extends="struts-default">
<action name="user" class="www.itheima.action.userAction">
<result name="success">/servlet/ConfirmServlet</result>
<result name="error">/error.jsp</result>
</action>
<action name="user2" class="com.qst.chapter02.action.User2Action" method="login">
<result>/finished.jsp</result>
</action>
<action name="user3" class="com.qst.chapter02.action.User3Action" method="login">
<result name="success">/finished.jsp</result>
</action>
</package>
</struts>
4.写一个Action
在struts2中的所有业务方法都是public的,返回值都是String类型的,所有业务方法都没有参数,方法名可以自定义,默认为execute(),代码如下。
public String execute() {
if(userName.length()>0&&address.equals("青岛")){
return "success";
}else{
return "error";
}
}