Struts2-创建登陆实例

来源:互联网 发布:淘宝上刘雨晴 编辑:程序博客网 时间:2024/06/06 02:36

刚刚开始学习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;@Overridepublic 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
原创粉丝点击