Struts2-创建登陆实例

刚刚开始学习Struts2,创建一个简单的用户登陆实例来练一下手


1、到apache官网下载Struts2的包,我这里下好的是struts-2.3.20-all.zip,解压后再将apps文件夹里的struts2-blank.war解压,将解压出来的文件拷到WEB工程的lib下。再在web.xml中加入Struts2的过滤器,在struts2安装包里找到web.xml文件,将里面的<filter>和<filter-mapping>标签及其内容拷贝进项目中的web.config文件即可。如下:

<?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>ZDemo</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>
        <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>

</web-app>

2. 登陆页面 index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<center>
<form action="userAction" >
<input type="text" name="user.username"><br> 
<input type="password" name="user.password"><br> 
<input type="submit">
</form>
</center>
</body>
</html>

3. 写struts.xml实现跳转

注意: action name=“userAction”要与index.jsp form标签里的action名一致

<?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.enable.DynamicMethodInvocation" value="false" />
	<constant name="struts.devMode" value="true" />
   <package name="userLoginPackage" extends="struts-default">
   <action name="userAction" class="com.unicom.demo.action.UserAction"
        method="execute">
   <result name="success">/loginSuccess.jsp</result>
   <result name="error">/loginError.jsp</result>
	</action>
	</package>
	<!-- Add packages here -->
</struts>

4. 接下来就要写User属性

public class User {
	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;
	}
	private String username;
	private String password;


5. struts2的action UserAction 以及execute方法

注意:在if语句中用“test”.equals(user.getUsername())的方式进行判断,以防出现空指针错误

public class UserAction extends ActionSupport {
	private static final long serialVersionUID = 1L;

	public void setUser(User user) {
		this.user = user;
	}

	public User getUser() {
		return user;
	}

	private User user;

	@Override
	public String execute() throws Exception {
//		System.out.println("here!!!!!!!!!!!!!!!!");
//		System.out.println(user.getUsername());
		if ("test".equals(user.getUsername())
				&& "test".equals(user.getPassword())) {
			return "success";
		}else {
			return "error";
		}
	}


6. 登陆成功和失败的页面 loginSuccess.jsp / loginError.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<h1>Login Success</h1>
</body>
</html>


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<h1>Login Failure</h1>
</body>
</html>

7. run on server就大功告成啦!







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值