Struts2基础配置

本文介绍了一个使用Struts2框架实现的登录系统案例,详细展示了项目所需的依赖库、项目结构、配置文件等内容,并通过具体代码实现了用户的登录验证功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 所用到的jar包

asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-fileupload-1.3.1.jar
commons-io-2.2.jar
commons-lang3-3.2.jar
freemarker-2.3.22.jar
javassist-3.11.0.GA.jar
ognl-3.0.6.jar
struts2-core-2.3.24.1.jar
xwork-core-2.3.24.1.jar

2.项目结构


3. 配置文件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>
    <constant name="struts.devMode" value="true" />
    <package name="default" namespace="/" extends="struts-default">
        <action name="login" class="com.zhq.action.UsersAction" method="login">
        	<!-- name="success"表示根据返回的值跳转到对应页面 -->
            <result name="success">/login.jsp</result>
        </action>
        <action name="startLogin" class="com.zhq.action.UsersAction" method="startLogin">
        	<!-- name="success"表示根据返回的值跳转到对应页面 -->
            <result name="success">/success.jsp</result>
            <result name="fail">/login.jsp</result>
        </action>
    </package>
</struts>

4. 主配置文件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" id="WebApp_ID" version="3.0">
  <display-name>strutsTest01</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <!--配置springMVC入口应用servlet节点  -->
  <!--配置struts2的入口应用filter节点  -->
  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  	<!-- 当struts2的配置文件不在默认路径下,则需要配置路径,还要额外配置struts2必须的两个文件 -->
  	<init-param>
  		<param-name>config</param-name>
  		<param-value>
  			struts-default.xml,
  			struts-plugin.xml,
  			config/struts.xml
  		</param-value>
  	</init-param>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

5. 实体类Users.java

package com.zhq.pojo;

public class Users {
	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;
	}
	

}

6. 控制类UsersAction.java

package com.zhq.action;

import com.opensymphony.xwork2.ActionSupport;
import com.zhq.pojo.Users;

public class UsersAction extends ActionSupport {
	private Users user;
	private String msg;
	public Users getUser() {
		return user;
	}
	public void setUser(Users user) {
		this.user = user;
	}
	
	public String getMsg() {
		return msg;
	}
	public void setMsg(String msg) {
		this.msg = msg;
	}
	public String login() {
		return SUCCESS;
	}
	public String startLogin() {
		if(user==null) {
			return "fail";
		}else {
			if(user.getUserName().equals("zhq")&&user.getPassword().equals("123")) {
				return "success";
			}else {
				msg="账号或密码错误";
				return "fail";
			}
		}
		
	}
}

7. 页面index.jsp,login.jsp,success.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>主页</title>
</head>
<body>
   <h3>欢迎来到XXX系统!</h3>
   <p><a href="login">登入</a></p>
</body>
</html>
<%@ 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>登入页</title>
</head>
<body>
	<h3>用户登入</h3>
	<form action="startLogin" method="post">
		<p>账号:<input type="text" name="user.userName"></p>
		<p>密码:<input type="password" name="user.password"><span>${msg}</span></p>
		<p><input type="submit" value="登入"></p>
	</form>
</body>
</html>
<%@ 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>登入成功</title>
</head>
<body>
	<h3>登入成功!</h3>
</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值