文档章节

struts2验证用户是否登陆

 南桥北木
发布于 2017/02/16 10:05
字数 268
阅读 7
收藏 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
博文 187
码字总数 33380
作品 0
武汉
私信 提问
关于struts2中的拦截器和登陆验证

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

长平狐
2012/11/12
3.1K
0
浅谈Struts2拦截器的原理与实现

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

chape
2013/06/08
0
0
jquery.uploadify 上传插件cookie丢失问题。

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

吴叙文
2010/11/19
3.7K
6
spring security拦截登陆请求j_spring_security_check后是怎样验证密码的?

最近在看江南白衣的springside3里面的mini-web示例,在spring security 权限控制这一块的流程没完全想通, spring security 会调用指定的实现UserDetailService的类中的loadUserByUsername方...

遗失的主场
2012/03/09
37.8K
5
Struts2安全缺陷(上)(转)

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

floger
2010/11/25
0
1

没有更多内容

加载失败,请刷新页面

加载更多

deepin中配置robot framework环境

本文永久更新地址:https://my.oschina.net/bysu/blog/2989005 【若要到岸,请摇船:开源中国 不最醉不龟归】 1.在终端中输入pip,回车,如果提示没有该命令,则先安转pip sudo apt-get inst...

不最醉不龟归
45分钟前
3
0
OSChina 周日乱弹 —— 钱不还,我就当你人不在了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享Bigleaf的单曲《小鹿》 《小鹿》- Bigleaf 手机党少年们想听歌,请使劲儿戳(这里) 周日在家做什么? 做手工呀, @poorfis...

小小编辑
今天
136
5
EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
21
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
30
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
40
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部