本文是Struts2的入门级操作,目的是为了介绍Struts2的应用流程。
在一个Web项目中,如果需要使用Struts2,那么我们就需要遵循Struts2的应用流程来进行部署。
一、首先,创建一个Web应用程序(或者是使用已有的项目);
二、将Struts2所必须的jar文件导入到项目的WEB-INF文件夹下,通常有
commons-fileupload-1.2.1.jar,
commons-io-1.3.2.jar,
freemarker-2.3.16.jar,
ognl-3.0.jar,
struts2-core-2.2.1.jar,
xwork-core-2.2.1.jar
五个必须的jar文件,如果你的项目中需要其他的jar文件,则视情况而定;
三、创建Action类,编写你所需要的处理用户请求的java文件,该类通常继承ActionSupport。
示例:
public class LoginAction extends ActionSupport{
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String execute() throws Exception {
if(getName().endsWith("admin")&&getPassword().endsWith("password")){
ActionContext.getContext().getSession().put("user",getName());
return SUCCESS;
}else{
return ERROR;
}
}
}
四、配置struts.xml文件(在Web应用的类加载路径下,IDE环境中置于src路径下即可)
示例:
<struts>
<package name="Struts" extends="struts-default">
<action name="login" class="com.java.struts.LoginAction">
<!-- 定义三个逻辑视图和物理资源之间的映射 -->
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>
五、配置web.xml文件(置于WebContent/WEB-INF路径下)
示例:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<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>
<welcome-file-list>
<welcome-file>/login.jsp</welcome-file>
</welcome-file-list>
</web-app>
这样一个Struts2的应用已经搭建完毕,在服务器上运行,即可。