基于struct2完整的用户登录

基于struct2完整的用户登录

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

第一lib在导入struct2相应jar包

在web.xml组态struct2过滤器

  <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>

Model,业务逻辑层,验证username和password,暂定都为”admin”。当然假设嵌入项目中,验证的数据能够从数据库提取

LoginCheck.java

public class LoginCheck {
   public boolean isLogin(String username,String password){
	 if(username.equals("admin")&&password.equals("admin")){
		 return true;
	 }else{
		 return false;
	 }
   }
}

Controller

LoginAction.java

为了获得很多其它的支持,能够继承ActionSupport类

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
	 String username=null;
	 String password=null;
	 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(){
	  LoginCheck lc=new LoginCheck();
	  if(lc.isLogin(username, password)){
		  return "success";
	  }else{
		  return "failure";
	  }
  }
}

配置structs.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为配置文件根元素 --><struts> <!-- Action必须放在指定的包名空间中 --> <package name="login" extends="struts-default"> <!-- 定义login的action,事实上现类为LoginAction --> <action name="login" class="LoginAction"> <!-- 定义处理结果与视图资源之间的关系 --> <result name="success">/wel.jsp</result> <result name="failure">/err.jsp</result> </action> </package></struts>

接下来的都是视图层

登录页面login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <head>
    <title>My JSP 'login.jsp' starting page</title>
  </head>
  <body>
  <form action="login.action" method="post">
         用户名<input type="text" name="username"><br>
         密码<input type="password" name="password"><br>
    <input type="submit" value="提交">
  </form>
  </body>
</html>

错误处理页面err.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <head>  
    <title>My JSP 'err.jsp' starting page</title>
  </head>
  <body>
          失败页面
  </body>
</html>

登录成功页面wel.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <head>  
    <title>My JSP 'wel.jsp' starting page</title>
  </head>  
  <body>
         成功页面<br>
  </body>
</html>

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/117601.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • queryinterface的用法[通俗易懂]

    queryinterface的用法[通俗易懂]客户可以根据QueryInterface函数来查询某个组件是否支持某个特定的接口,若支持,则QueryInterface则返回一个指向特定接口的指针,若不支持,则返回一个错误代码,它的函数形是这样的:     HRESULT__stdcallQueryInterface(constIID&iid,void**ppv);昨天已经设计了一个极其简单的QueryInte

  • 关于File类概念及方法的一些介绍

    关于File类概念及方法的一些介绍java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。Java把电脑中的文件和文件夹(目录)封装为一个File类,我们可以使用File类对文件和文件夹进行操作。File类的方法可以实现:1.创建一个文件/文件夹2.删除文件/文件夹3.获取文件/文件夹4.判断文件/文件夹是否存在5.对文件夹进行遍历6.获取文件的大小File类是一个与系统无关的类,任何操作系统都可以使用这个类中的方法重点:File:文件;Directory:文件夹/目录

  • Fckeditor使用方法

    Fckeditor使用方法Fckeditor使用方法

  • Shell if 条件判断

    Shell if 条件判断Shell 语言中的if条件一、if的基本语法:if[command];then   符合该条件执行的语句elif[command];then   符合该条件执行的语句else   符合该条件执行的语句fi二、文件/文件夹(目录)判断[-bFILE]如果FILE存在且是一个块特殊文件则为真。[-cFILE]如果FILE存在且是一个字特殊文件则为真。[-dD…

  • spring ajax 长轮询,Ajax轮询和长轮询

    spring ajax 长轮询,Ajax轮询和长轮询缺点:Ajax轮询需要服务器有很快的处理速度与快速响应。longpoll需要很高的并发,体现在同时容纳请求的能力。一、轮询是在浏览器客户端实现的:如果从后端获取数据成功则停止请求。$(function(){varcode,status;functiongetResult(){varparams={code:code,operate:’什么操作TODO:’,};$.ajax({typ…

    2022年10月14日
  • mysql批量新增数据_word修改内容目录怎么更新

    mysql批量新增数据_word修改内容目录怎么更新建表CREATETABLE`t`(`id`int(11)NOTNULL,`age`int(11)DEFAULTNULL,`name`varchar(20)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf81.insertintovalues、inser…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号