您的位置:首页 > 编程语言 > Java开发

struts2 简单登录校验示例

2017-05-24 10:59 204 查看
一、实验目的

理解并掌握业务控制类创建的不同方式。

理解struts.xml中action配置各属性的作用以及result配置参数作用。

二、实验内容

采用不同业务控制类定义方式实现Login原型。

深入理解struts.xml配置文件作用。

三、 实验步骤及代码

采用struts2框架实现Login原型,业务控制类实现方式:直接实现(CheckAccount、CheckAccountI)、

实现Action接口(CheckAccountII)、继承父类ActionSupport(CheckAccountIIII)。

login.jsp
<body>
<form action="login" method="post">
UserName:<input name="account.username"/><br/>
PassWord:<input type="password" name="account.password"/><br/>
<input type="submit" name="submit" value="submit"/>
</form>
</body>

CheckAccount.java
package com.util.login;
public class CheckAccount {
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 execute(){
if(username.equals("zhangsan") && password.equals("123")){
return "success";
} else {
return "error";
}
}
}

CheckAccountI.java (JavaBean封装)
package com.util.login;

public class CheckAccountI {
private Account account;
public Account getAccount() {
return account;
}

public void setAccount(Account account) {
this.account = account;
}
public String execute(){
if(account.getUsername().equals("zhangsan") && account.getPassword().equals("123")){
return "success";
} else {
return "error";
}
}
}


CheckAccountII.java (实现Action接口)
package com.util.login;
import com.opensymphony.xwork2.Action;
public class CheckAccountI implements Action {
private Account account;
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}

public String execute() throws Exception {
if(account.getUsername().equals("zhangsan") && account.getPassword().equals("123")){
return SUCCESS;
} else {
return ERROR;
}
}
}


CheckAccountIII.java (继承ActionSupport)
package com.util.login;
import com.opensymphony.xwork2.ActionSupport;
public class CheckAccountII extends ActionSupport{
private Account account;

public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}

@Override
public String execute() throws Exception {
if(account.getUsername().equals("zhangsan") && account.getPassword().equals("123")){
return "success";
} else {
return "error";
}
}
}


login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'Login.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>
<%@taglib uri="/struts-tags" prefix="s" %>
<body >
<center>
<form action="sub" method="get">
用户登录:<br>
用户名:<input name="name" type="text"><br>
密码:<input name="psd" type="text"><br>
<input  type="submit" value="提交"><br>
<input  type="reset" value="重置">
</form>
</center>
</body>
</html>
welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
<head>

</head>

<body>
登录成功!!!! ${name}<br>
</body>
</html>
配置文件
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.
c95a
struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="sub" class="com.tj.struts.demo.checkAction" method="check">
<result name="success">/welcome.jsp</result>
<result name ="error">/Login.jsp</result>
</action>
</package>
</struts>


<url-pattern>/*</url-pattern> </filter-mapping> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>checkAction</servlet-name> <servlet-class>com.tj.struts.demo.checkAction</servlet-class>
</servlet> <servlet-mapping> <servlet-name>checkAction</servlet-name> <url-pattern>/checkAction</url-pattern> </servlet-mapping></web-app>


sttuts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="sub" class="com.tj.struts.demo.checkAction" method="check">
<result name="success">/welcome.jsp</result>
<result name ="error">/Login.jsp</result>
</action>
</package>
</struts>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2.0 login 框架