文档章节

struts2验证用户是否登陆

 南桥北木
发布于 2017/02/16 10:05
字数 268
阅读 5
收藏 0
点赞 0
评论 0

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 action="loginaction" method="post"> <center> <h2>用户登录</h2> ${loginerror} 用户:<input type="text" name="username"><br><br>

    密码:<input type="password" name="password"><br><br>
  <input type="submit" value="提交">   
</center>

</form> </body> </html>

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">

<struts> <package name="default" namespace="/" extends="struts-default"> <!-- 注册拦截器 --> <interceptors> <interceptor name="validate" class="com.validate.lan.AuthorIntercept"></interceptor> </interceptors> <action name="author"> <result>/login.jsp</result> <result name="login">/login.jsp</result>

      <!-- 引用拦截器 -->

       <interceptor-ref name="defaultStack"></interceptor-ref>

       <interceptor-ref name="validate"></interceptor-ref> 

        
   </action>
    <action name="loginaction" class="com.validate.action.LoginAction" method="login">
        <result name="success">/manager.jsp</result>
        <result name="error">/login.jsp</result>
     
      
    </action>
</package>

</struts>

3LoginAction.java

package com.validate.action;

import java.util.Map;

import javax.jms.Session;

import org.apache.struts2.interceptor.SessionAware;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport implements SessionAware{ private String username; 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 password;

private Map<String,Object> session;

public void setSession(Map<String, Object> session) {
	  this.session=session;
}

public String login(){
	  if("123".equals(username)&&"123".equals(password)){
		  session.put("logininfo", username);
		  return SUCCESS;
	  }else{
		  session.put("loginerror", "用户名或密码错误");
		  return ERROR;  
	  }
}

}

4 AuthorIntercept.java

package com.validate.lan;

import java.util.Map;

import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class AuthorIntercept extends AbstractInterceptor {

@Override
public String intercept(ActionInvocation invocation) throws Exception {
	ActionContext context=ActionContext.getContext();
	Map<String,Object> session=context.getSession();
	if(session.get("logininfo")!=null){
		String result=invocation.invoke();
		return result;
	}else{
		return "login";
	}
	

}

}

5 小知识 自定义拦截器栈

<interceptors>

    <interceptor name="validate" class="com.validate.lan.AuthorIntercept"></interceptor>

    <interceptor-stack name="mystack">

        <interceptor-ref name="validate"></interceptor-ref>

        <interceptor-ref name="defaultStack"></interceptor-ref>

    </interceptor-stack>

</interceptors>

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 127
码字总数 23467
作品 0
武汉
关于struts2中的拦截器和登陆验证

今天给几个热爱JAVA的同学们讲了Struts2的一些知识,重点讨论了其最具价值的拦截器。 不知道大家还记不记得,在《Struts2之服务器端验证》里我说过这样一句话“在到达Login Action之前,验证已...

长平狐 ⋅ 2012/11/12 ⋅ 0

浅谈Struts2拦截器的原理与实现

拦截器与过滤器 拦截器是对调用的Action起作用,它提供了一种机制可以使开发者定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取act...

chape ⋅ 2013/06/08 ⋅ 0

jquery.uploadify 上传插件cookie丢失问题。

因为jquery.uploadify上传插件是通过flash来运行上传的。 然后才会进入我的action, 本人环境struts2。 有一登陆验证拦截器。 根据cookie判断是否登陆。 ----- 以下三种环境 IE ,request中的...

吴叙文 ⋅ 2010/11/19 ⋅ 6

Struts2安全缺陷(上)(转)

本文介绍了java开发流行框架struts2以及webwork的一些安全缺陷,并举例说明框架本身以及开发人员使用框架时,所产生的种种安全问题,以及作者挖掘框架安全漏洞的一些心得体会。 推荐以下人群...

floger ⋅ 2010/11/25 ⋅ 1

Struts2安全缺陷(上)(转)

本文介绍了java开发流行框架struts2以及webwork的一些安全缺陷,并举例说明框架本身以及开发人员使用框架时,所产生的种种安全问题,以及作者挖掘框架安全漏洞的一些心得体会。 推荐以下人群...

wsj ⋅ 2010/11/08 ⋅ 0

Struts拦截器

原创链接:http://my.oschina.net/chape/blog/136406 浅谈Struts2拦截器的原理与实现 拦截器与过滤器 (能做什么,怎么做?) 很多业务逻辑都得靠拦截来实现,比如校验、验证登录权限等等。而...

微尘鉴 ⋅ 2014/05/14 ⋅ 0

SSH框架(三) struts2的登陆示例

因为最近在学习使用SSH框架(struts2+spring+hibernate),下面来介绍表现层struts2的使用方法。 (一)添加struts2的包   见上一篇博客,先看一下添加的各个文件的目录结构 (二)介绍各个文...

thinkyoung ⋅ 2014/12/17 ⋅ 0

Java SSH框架系列:用户登录模块的设计与实现思路

时间 2014-01-19 16:14:54 CSDN博客原文 http://blog.csdn.net/nupt123456789/article/details/18504615 1.简介 用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等。...

thinkyoung ⋅ 2014/12/17 ⋅ 0

Struts2基于注解的登陆与验证示例

Struts2是个优秀的MVC框架。有人说java的框架是把简单的东西搞得复杂,而我不这样认为。学习框架之前可能会这样认为,学了之后就会感觉框架当然是在简化问题,否则也不会有这么多人用了。本文...

喜之郎 ⋅ 2012/02/13 ⋅ 0

struts2 角色权限 filter(过滤器)和interceptor(拦截器)

Struts2项目通过使用Struts的if标签进行了session判断,使得未登录的用户不能看到页面,但是这 种现仅仅在view层进行,如果未登录用户直接在地址栏输入登录用户才能访问的地址,那么相应的a...

长平狐 ⋅ 2013/01/06 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringCloud 微服务 (六) 服务通信 RestTemplate

壹 通信的方式主要有两种,Http 和 RPC SpringCloud使用的是Http方式通信, Dubbo的通信方式是RPC 记录学习SpringCloud的restful方式: RestTemplate (本篇)、Feign 贰 RestTemplate 类似 Http...

___大侠 ⋅ 14分钟前 ⋅ 0

React创建组件的三种方式

1.无状态函数式组建 无状态函数式组件,也就是你无法使用State,也无法使用组件的生命周期方法,这就决定了函数组件都是展示性组件,接收Props,渲染DOM,而不关注其他逻辑。 无状态函数式组...

kimyeongnam ⋅ 21分钟前 ⋅ 0

react 判断实例类型

今天在写组件的时候想通过判断内部子元素不同而在父元素上应用不同的class,于是首先要解决的就是如何判断子元素的类型。 这里附上一个讲的很全面的文章: https://www.cnblogs.com/onepixel...

球球 ⋅ 27分钟前 ⋅ 0

Centos7备份数据到百度网盘

一、关于 有时候我们需要进行数据备份,如果能自动将数据备份到百度网盘,那将会非常方便。百度网盘有较大的存储空间,而且不怕数据丢失,安全可靠。下面简单的总结一下如何使用 bypy 实现百...

zctzl ⋅ 41分钟前 ⋅ 0

开启远程SSH

SSH默认没有开启账号密码登陆,需要再配置表中修改: vim /etc/ssh/sshd_configPermitRootLogin yes #是否可以使用root账户登陆PasswordAuthentication yes #是都开启密码登陆ser...

Kefy ⋅ 44分钟前 ⋅ 0

Zookeeper3.4.11+Hadoop2.7.6+Hbase2.0.0搭建分布式集群

有段时间没更新博客了,趁着最近有点时间,来完成之前关于集群部署方面的知识。今天主要讲一讲Zookeeper+Hadoop+Hbase分布式集群的搭建,在我前几篇的集群搭建的博客中已经分别讲过了Zookeep...

海岸线的曙光 ⋅ 52分钟前 ⋅ 0

js保留两位小数方法总结

本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容: 一、我们首先从经典的“四舍五入”算法讲起 1、四舍五入的情况...

孟飞阳 ⋅ 今天 ⋅ 0

python log

python log 处理方式 log_demo.py: 日志代码。 #! /usr/bin/env python# -*- coding: utf-8 -*-# __author__ = "Q1mi""""logging配置"""import osimport logging.config# 定义三种......

inidcard ⋅ 今天 ⋅ 0

mysql 中的信息数据库以及 shell 查询 sql

Information_schema 是 MySQL 自带的信息数据库,里面的“表”保存着服务器当前的实时信息。它提供了访问数据库元数据的方式。 什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,...

blackfoxya ⋅ 今天 ⋅ 0

maven配置阿里云镜像享受飞的感觉

1.在maven目录下的conf/setting.xml中找到mirrors添加如下内容,对所有使用改maven打包的项目生效。 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.al......

kalnkaya ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部