struts2自定义拦截器

第一步:写action

package com.dwx;
import java.util.List;

import com.dwx.bean.item;
import com.dwx.util.dao;
import com.opensymphony.xwork2.ActionContext;
/**
 * 登录action
 */
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class loginAction extends ActionSupport{
	private String username;
	private String password;
	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;
	}
	@Override
	public String execute() throws Exception {		
		if("admin".equals(username)&&"123".equals(password)){
			ActionContext context=ActionContext.getContext();
			context.getSession().put("username", username);
			Listlist=dao.selectAll();
			context.getSession().put("list",list);
			return SUCCESS;
	}else{
			return INPUT;
		}
		}
}

第二步:写拦截器

package com.dwx;
import java.util.Map;

import com.opensymphony.xwork2.ActionContext;
/**
 * 登录拦截器
 */
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;

public class loginInterceptor extends MethodFilterInterceptor {
	@Override
	protected String doIntercept(ActionInvocation arg) throws Exception {
		Map session=arg.getInvocationContext().getSession();
		String user= (String)session.get("username");
		if(user==null){
			return "input";
		}else{
			return arg.invoke();
		}
	}
	
}

第三步:配置web.xml



demo

	Struts2
	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter


	Struts2
	/*

第四步:配置struts2.xml




	
	
		
		
			
		
		
		
			
			/main.jsp
			/login.jsp					
		
			
			
			execute
				
			
					
		
	

第五步:登录页面(login.jsp)

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    用户登录
    
	
	
	    
	
	
	

  
  
  
    	

第六步:主页面(main.jsp)

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    主页
    
	
	
	    
	
	
	

  
  
    
    	对不起,您未登录,不能对本页面进行任何操作,请
    	登录
    
    
    	欢迎你:
    	  退出系统
    	

商品信息

产品编号 名称 产地 价格 数量

登录界面:

struts2自定义拦截器_第1张图片

直接进入主页面


登录后才能显示商品信息

struts2自定义拦截器_第2张图片

你可能感兴趣的:(struts2)