• java struts2入门学习实例--用户注册和用户登录整合


    需求:

    1、用户注册(user_register.jsp)--》注册成功(UserRegister.action)--》显示注册信息(register_success.jsp)
    2、用户登录(user_login.jsp)--》登录成功(UserLogin.action)--》显示用户名(login_success.jsp)

    分析:

    这里主要涉及struts2中对于多个类似的业务操作方法的封装。

    效果

    针对需求1,用户注册:

    针对需求2,用户登录:

    实现:

    user_register.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 name="register" action="/struts2/UserRegister" method="post">
            <table border="2" align="center">
                <caption>新用户注册</caption>
                <tr>
                    <th>用户名:</th>
                    <td><input name="username" id="username" type="text" /></td>
                </tr>
                <tr>
                    <th>密码:</th>
                    <td><input name="password" id="password" type="password" /></td>
                </tr>
    
                <tr>
                    <td colspan="2" align="center"><input type="submit" value="提交"
                        width="120ppx" /></td>
                </tr>
    
            </table>
        </form>
    </body>
    </html>
    View Code

    user_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 name="register" action="/struts2/UserLogin" method="post">
            <table border="2" align="center">
                <caption>用户登录</caption>
                <tr>
                    <th>用户名:</th>
                    <td><input name="username" id="username" type="text" /></td>
                </tr>
                <tr>
                    <td colspan="2" align="center"><input type="submit" value="提交"
                        width="120ppx" /></td>
                </tr>
    
            </table>
        </form>
    </body>
    </html>
    View Code

    UserAction.java

    package com.amos.web.action;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    /**
     * @ClassName: UserAction
     * @Description: 用户管理,将相关的action封装到一个类中
     * @author: amosli
     * @email:amosli@infomorrow.com
     * @date Jan 8, 2014 1:06:00 AM
     */
    public class UserAction extends ActionSupport {
        private static final long serialVersionUID = -6275534406709255984L;
        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 register() throws Exception {
    
            return "toRegisterJsp";
        }
    
        // 用户登录
        public String login() throws Exception {
            return "toLoginJsp";
        }
    
    }
    View Code

    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>
        <!-- 加载其他配置文件 -->
        <include file="config/user_struts.xml"></include>
    </struts>

    user_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>
        <package name="user" namespace="/" extends="struts-default">
            <action name="UserRegister" class="com.amos.web.action.UserAction"
                method="register">
                <result name="toRegisterJsp" type="dispatcher">
                /register_success.jsp
                </result>
            </action>
            <action name="UserLogin" class="com.amos.web.action.UserAction"
                method="login">
                <result name="toLoginJsp" type="dispatcher">
                /login_success.jsp            
                </result>
            </action>
        </package>
    </struts>
    View Code

    login_success.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib uri="/struts-tags" prefix="s" %>
    <!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>
    登录成功!
    <hr>
    用户名:<s:property value="username"/>
    </body>
    </html>

    register_success.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib uri="/struts-tags" prefix="s"  %>
        
    <!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>
    注册成功<br/>
    <hr>
    用户名:<s:property value="username" />
    密码:<s:property value="password"/>
    </body>
    </html>

    代码分析:

    代码的入口为两个jsp程序,user_register.jsp和user_login.jsp,因为原理大体相同,这里主要讲一下登录,注册上一篇文章已经讲过了。

    首先,在地址栏里输入http://localhost:8080/struts2/user_login.jsp,表单的action动作为POST方式提交,对应的动作时是UserLogin.action;UserLogin在struts启动时struts.xml加载到内存中时已经将user_struts.xml 反射出来了。user_struts.xml中已经配置了,调用com.amos.web.action.UserAction中的login方法,然后将值再转发到login_success.jsp中,login_success.jsp,通过s标签进行取值并最终显示到浏览器中。

    这里最主要的思想在于将登录和注册这两种相类似的业务,相关联的业务整合到一个action中。

    户注册(user_register.jsp)--》注册成功(UserRegister.action)--》显示注册信息(register_success.jsp)

    用户登录(user_login.jsp)--》登录成功(UserLogin.action)--》显示用户名(login_success.jsp)

  • 相关阅读:
    权限系统设计-day02
    权限系统设计-day01
    SSH集成(Struts+Spring+Hibernate)
    Spring-day03
    Spring-day02
    神经网络与深度学习
    深度学习概述
    结构化机器学习项目
    无监督学习方法
    《2018自然语言处理研究报告》整理(附报告)
  • 原文地址:https://www.cnblogs.com/amosli/p/3509996.html
Copyright © 2020-2023  润新知