zoukankan      html  css  js  c++  java
  • Struts2实现简单登陆功能

    1.首先准备Struts2的必备jar包

    2.Struts2拦截用户请求

    在web.xml文件中配置Struts2的核心控制器,用来拦截客户端的请求,并将请求转发到相应的Action类中来处理,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>struts2Demo</display-name>
      
    <!--   Struts2核心控制器 -->
      <filter>
              <filter-name>struts2</filter-name>
              <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
      </filter>
      <filter-mapping>
              <filter-name>struts2</filter-name>
              <url-pattern>/*</url-pattern>
      </filter-mapping>
      
    </web-app>

    3.创建视图页面login.jsp及index.jsp

    login.jsp可以使用Struts2标签库实现一个表单,登陆成功进入index.jsp界面,登陆失败返回login.jsp界面

    login.jsp界面代码如下:

     1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
     2 
     3 <!-- 引入Struts2标签库   -->
     4 <%@ taglib prefix="s" uri="/struts-tags" %>
     5 
     6 <!DOCTYPE html>
     7 <html>
     8 <head>
     9 <meta charset="UTF-8" />
    10 
    11 <style type="text/css">*{font-size:12px;}</style>
    12 
    13 <title>    登陆页面 </title>
    14 </head>
    15   
    16 <body>
    17        <div style="margin:0 auto;">
    18            <div style="font-size:14px;font-weight:bold;">用户登陆</div>
    19            <div>
    20                <s:form action="checkLogin" namespace="/login">
    21                    <s:textfield name="username" style="font-size:12px;120px;" label="登陆名称" />
    22                    <s:password name="password" style="font-size:12px;120px;" label="登陆密码" />
    23                    <s:submit value="登陆" />
    24                </s:form>
    25            </div>
    26        </div>    
    27 </body>
    28 </html>

    index.jsp界面代码如下:

     1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
     2 
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8" />
     7 <title> 主页 </title>
     8 </head>
     9   
    10 <body>
    11     <h1>登陆成功,欢迎您!</h1>
    12 </body>
    13 </html>

    4.创建业务控制器LoginAction

    LoginAction类作为逻辑控制器组件,定义checkLogin方法处理登陆验证逻辑,代码如下:

     1 package action;
     2 
     3 import com.opensymphony.xwork2.ActionSupport;
     4 
     5 /** 
     6  * @author Sere
     7  * @date:2015年7月18日 上午9:04:18 
     8  * 类说明 
     9  */
    10 public class LoginAction extends ActionSupport{
    11 
    12     private static final long serialVersionUID = 7922979648150320921L;
    13     
    14     private String username;
    15     private String password;
    16     
    17     /**
    18      * 处理客户端请求的method,对应struts.xml文件
    19      * @author  Sere
    20      * @date:2015年7月18日 上午9:06:22
    21      * */
    22     public String checkLogin(){
    23         if(this.username.endsWith("sere")&&this.password.equals("123")){
    24             return SUCCESS;    //登陆成功返回SUCCESS
    25         }else{
    26             return LOGIN;    //登陆失败返回LOGIN
    27         }
    28     }
    29     
    30 
    31     public String getUsername() {
    32         return username;
    33     }
    34     public void setUsername(String username) {
    35         this.username = username;
    36     }
    37     public String getPassword() {
    38         return password;
    39     }
    40     public void setPassword(String password) {
    41         this.password = password;
    42     }
    43 }

    5.配置LoginAction

    当Action处理完请求后返回一个字符串,每个字符串对应一个视图。在Struts.xml文件中配置Action时,name定义该Action的名称,class定义这个Action实际实现类,method表示这个Action中的实际实现方法。

    在Struts.xml文件中,每个Action文件都指定了result元素,每个result元素都定义了一个逻辑视图,其中的name属性定义了Action所返回的字符串。

    Struts.xml文件代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
        <include file="struts-default.xml" />
        <package name="struts2_login" extends="struts-default" namespace="/login">
            <action name="checkLogin" class="action.LoginAction" method="checkLogin">
                <result name="success">/index.jsp</result>
                <result name="login">/login.jsp</result>
            </action>
        </package>
    </struts>

    6.部署

    struts.xml文件放在WEB-INFclasses目录下,jsp放在Webroot下,结构如下:

    最后,部署到Tomcat服务器上打开login.jsp页面,用户名成功跳转index.jsp,失败跳转login.jsp

       

  • 相关阅读:
    修复 Visual Studio Error “No exports were found that match the constraint”
    RabbitMQ Config
    Entity Framework Extended Library
    Navisworks API 简单二次开发 (自定义工具条)
    NavisWorks Api 简单使用与Gantt
    SQL SERVER 竖表变成横表
    SQL SERVER 多数据导入
    Devexpress GridControl.Export
    mongo DB for C#
    Devexress XPO xpPageSelector 使用
  • 原文地址:https://www.cnblogs.com/sere/p/4656289.html
Copyright © 2011-2022 走看看