导入相关的jar包
解压Struts2-2.3.24-all.zip,在apps文件夹中找到Struts2-blank.zip,解压后在WEB-INF的lib文件夹中有需要用到的13个jar包。
在web.xml中配置Filter
<filter>
<filter-name>Struts2Filter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.struts.xml的配置
<package name="default" namespace="/" extends="struts-default">
</package>
package标签中,namespace与action标签中的name组合实现请求路径,result标签与从Action中获取的String进行匹配,实现跳转。
4.创建action实现逻辑
- 创建login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="{pageContext.request.contextPath }/login.action" method=post>
username:<input type="text" name="username">
password:<input type="password" name="password">
<input type="submit" value="login">
</form>
</body>
</html>
success和failure这里就不写了
-创建LoginAction完成逻辑操作
package action;
public class LoginAction {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String login(){
if("tom".equals(username)&&"123".equals(password)){
return "success";
}
else
return "failure";
}
public String execute(){
return null;
}
}
注意:实际开发校验要通过数据库获得数据进行比较
-在struts.xml中完成配置
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="action.LoginAction" method="login">
<result name="success" type="redirect">/success.jsp</result>
<result name="failure">/failure.jsp</result>
</action>
</package>