(1)、为Web应用增加Struts2支持
Struts2文件结构:
apps:包含了基于Struts2的示例应用
docs:包含了Struts2的相关文档,包括Struts2的快速入门、Struts的文档,以及API文档等内容
lib:包含了Struts2框架的核心类库,以及Struts2的第三方插件类库
src:包含了Struts2框架的全部源代码
2.将Struts2的lib文件夹下的
commons-fileupload-1.3.1.jar 、commons-io-2.2.jar、commons-lang3-3.1.jar、freemarker-2.3.19.jar、javassist-3.11.0.GA.jar、ognl-3.0.6.jar、struts2-core-2.3.16.1.jar、xwork-core-2.3.16.1.jar
必需类库复制到Web应用WEB-INF/lib下(如需在Web应用中使用Struts2的更多特性,则需将相应的JAR复制过去)
若Struts2的lib目录下无javassist-3.7.ga.jar(一个动态编辑、生成Java字节码的类库);可登陆http://www.javassist.org/下载或在Hibernate3.6的lib/bytecode/javassist路径下找到该JAR包
如需在DOS或Shell窗口下手动编译Struts2相关程序,应将struts2-core-2.2.1.jar和xwork-core-2.2.1.jar添加到系统的CLASSPATH环境变量里
3.编辑Web应用的web.xml配置文件配置Struts2的核心Filter
<!—定义Struts2的核心Fitler -->
<filter>
<filter-name>struts2</filter-name>
<fitler-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!—定义Struts2的核心Fitler拦截所有请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(2)、简单登陆实现
1.配置核心Filter (web.xml)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 定义Struts2的核心Filter拦截所有请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
2.编写Action类
package org.app.action;
public class LoginAction extends ActionSupport {
private String username;
private String password;
@Override
public String execute() throws Exception {
if ("xxx".equals(username) && "123".equals(password)) {
return SUCCESS;
} else {
return ERROR;
}
}
// username、password的getter、setter方法
}
3
.配置Action(struts.xml)
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<package name="demo1" extends="struts-default">
<action name="loginAction" class="<span style="font-family:Arial, Helvetica, sans-serif;">org.app.action.LoginAction</span>">
<result name="success">/welcome.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
4
.编写视图资源
login.jsp
<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<form action="loginAction.action">
user: <input type="text" name="username"><br>
password: <input type="password" name="password"><br>
<input type="submit" value="submit">
</form>
</body>
</html>
welcome.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"%>
<html>
<body>
welcome!
</body>
</html>
error.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"%>
<html>
<body>
error!
</body>
</html>