struts2+jquery实现ajax登陆实例详解

(编辑:jimmy 日期: 2024/9/21 浏览:2)

文本仪一个实例讲述了struts2+jquery实现ajax登陆的实现方法,具体步骤如下:

一、新建一个web项目,取名test。配置好struts2的环境,并导入Jquery的js文件到该项目。

二、在com.action包下,新建一个loginAction.java

loginAction.java的代码如下

package com.action;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;

import com.opensymphony.xwork2.ActionSupport;

@Action("login")
@ParentPackage(value = "json-default")
@Results({ @Result(name = "success", type = "json", params = { "data", "flag" }), })
public class LoginAction extends ActionSupport {

  /**
   * 
   */
  private static final long serialVersionUID = 1751244794407005783L;
  private String flag;
  private String username;
  private String password;

  public String execute() {
    try {
      if (getUsername() == null || getUsername().trim().equals("")) {
        setFlag("用户名不能为空");
        return SUCCESS;
      } else if (getPassword() == null || getPassword().trim().equals("")) {
        setFlag("密码不能为空");
        return SUCCESS;
      } else if (getUsername().trim().equals("admin")
          && getPassword().equals("admin")) {
        setFlag("登陆成功");
        return SUCCESS;
      } else {
        setFlag("用户名或密码错误");
        return SUCCESS;
      }
    } catch (Exception e) {
      e.printStackTrace();
      setFlag("登陆异常");
      return SUCCESS;
    }
  }

  public String getFlag() {
    return flag;
  }

  public void setFlag(String flag) {
    this.flag = flag;
  }

  public String getPassword() {
    return password;
  }

  public void setPassword(String password) {
    this.password = password;
  }

  public String getUsername() {
    return username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

}

三、在WebRoot目录下新建index.jsp和success.jsp

index.jsp为登陆界面,success.jsp为登陆成功后跳转的界面。

index.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%>" rel="external nofollow" >

<title>My JSP 'index.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">
<script type="text/javascript" src="/UploadFiles/2021-04-02/jquery.min.js">
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。