转发与重定向的页面跳转

9 篇文章 0 订阅
7 篇文章 0 订阅
package com.message.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import com.message.pojo.MsgUser;

public class LoginInterceptor implements HandlerInterceptor {

	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		  //获取Session  
        HttpSession session = request.getSession(); 
		 //获取请求的URL  
        //String url = request.getRequestURI();  
        HandlerMethod hm=(HandlerMethod)handler;
		String url = hm.getMethod().getName();
       // String name = handler.getClass().getName();
        	System.out.println("请求url"+url);
        //URL:login.jsp是公开的;这个demo是除了login.jsp是可以公开访问的,其它的URL都进行拦截控制  
        if(url.equals("login")){  
        	 
        	return true;
        }      
        //判断用户是否登陆过,登陆过,以后不管请求什么页面都可以访问,(再session有效时间内)就不用再判断
        MsgUser  user= (MsgUser)session.getAttribute("user");
        if(user!=null){
        	// request.getRequestDispatcher("/WEB-INF/jsp/index.jsp").forward(request, response);
        	 return true;            
        }  
        //request.setAttribute("user", session);
        //不符合条件的,跳转到登录界面  -------转发+相对具体路径
        request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response);     
        return false;  
	}
	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {

	}

	@Override
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {	

	}

}

LoginInterceptor

package com.message.controller;

import java.util.ArrayList;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.message.pojo.MsgUser;
import com.message.pojo.MsgUserFind;
import com.message.service.MsgUserService;
import com.teacherXue.pojo.EasyUiDataGridResult;

@Controller
@RequestMapping("/msguser")
public class MsgUserController {

	@Autowired
	private  MsgUserService msgUserService;	
	private Logger log = Logger.getLogger(this.getClass().getName());
	
	/*设置初始化定义变量,与index页面加载无关*/
	@RequestMapping("/")
	public String showindex(HttpServletRequest request){	
		// aplication
		ServletContext context = request.getSession().getServletContext();
		context.setAttribute("allowMediaUpload", "false");
		context.setAttribute("themeType", "simple");
		return "index";
	}
	
	@RequestMapping("{page}")
	public String showPage(@PathVariable String page){		
		log.debug("锟斤拷转锟斤拷页锟斤拷锟斤拷锟斤拷锟角o拷"+page);		
		return page;
	}
HTTP Status 404 - /message/WEB-INF/jsp/+需要添加请求的index+.jsp


	@RequestMapping("/user/login") // @RequestMapping 注解可以用指定的URL路径访问本控制层
	    public String login(HttpServletRequest request, MsgUser user) { 	
	    	log.debug("controller"+user.getPassword()+user.getUsername());
	    	MsgUser login = msgUserService.login(user);   
	    //保存用户名和密码 
		    if(login!=null){
		     HttpSession session = request.getSession();
		     MsgUser  manager= (MsgUser)session.getAttribute("user");
		    	//HttpSession session = request.getSession();
		    	if(manager!=null){
		//重定向---以为SpringMVC的InternalResourceViewResolver视图解析器已经配置了请求的路径前后缀,所以直   接重定向controller+jsp地址
		    		return "redirect:/msguser/index";
		    	}	  	
		    	session.setAttribute("user", user);
		    	return	"redirect:/msguser/index";	    	
		    }
	    	return	"redirect:/msguser/login";
	    }
	 
	@RequestMapping("/user/send/")
	@ResponseBody
	public int addMsgUser(Long ids,HttpServletRequest request)throws Exception{
		log.debug("cuntroller++++++++++++++"+ids.toString()+"==============="+ids.intValue());
		HttpSession session = request.getSession();
		MsgUser msgUser = msgUserService.getMsgUserById(ids);
		Object object = session.getAttribute("ids");		
		if(object!=null){		
			return 0;
		}
		session.setAttribute("ids", msgUser.getLimitcount());
		session.setMaxInactiveInterval(60/msgUser.getLimitcount());	
		int	i = msgUserService.sendPhone(ids);	
		return i;	
	}
	@RequestMapping("/user/list")
	 @ResponseBody
	public EasyUiDataGridResult  getAllMsgUser(int page, int rows){
		log.debug("----------------------+++page"+page+"rows"+rows);
		EasyUiDataGridResult result = msgUserService.getMsgUserLists(page, rows);	
		return result;
	}
	/*@RequestMapping("/user/list")
	@ResponseBody
	public List<MsgUser>  getAllMsgUser(){
		log.debug("----------------------+++page");
		 List<MsgUser> list = msgUserService.getMsgUserList();	
		return list;
	}*/
	
	@RequestMapping("/user/findlist")
	@ResponseBody
	public EasyUiDataGridResult  getAllMsgUser(int page, int rows, MsgUserFind user){
		EasyUiDataGridResult result = msgUserService.listMsgUserById(page, rows, user);	
		return result;
	}

	@RequestMapping("/user/add")
	@ResponseBody
	public int addMsgUser(MsgUser  user){
		log.debug("user"+user.getUsername()+user.getPassword()+user.getLimitcount()+user.getSumcount());
		int i = msgUserService.addMsgUser(user);
		return i;		
	}
	
	@RequestMapping("/user/delete")
	@ResponseBody
	public int deleteMsgUser(Long[] ids){
		ArrayList<Long> array = new  ArrayList<Long>();
		for(int i=0;i<array.size();i++){
			array.add(ids[i]);
		}
		int i = msgUserService.deleteByid(array);
		return i;
	}

	@RequestMapping("/user/update")
	@ResponseBody
	public int updateMsgUser(MsgUser  user){
		int i = msgUserService.updateMsgUser(user);
		return i;
	}
	@RequestMapping("/user/enable")
	@ResponseBody
	public String enable(Long[]  ids){
		System.out.println("-------------"+ids);
		ArrayList<Long> list = new ArrayList<Long>();
		for(int i=0;i<ids.length;i++){
			list.add(ids[i]);	
		}
		int i = msgUserService.enable(list);
		if(i>0){
			return "ok";
		}
		return "err";
	}
	@RequestMapping("/user/disable")
	@ResponseBody
	public String disable(Long[]  ids){
		System.out.println("-------------"+ids);
		ArrayList<Long> list = new ArrayList<Long>();
		for(int i=0;i<ids.length;i++){
			list.add(ids[i]);	
		}
		int i = msgUserService.disable(list);
		if(i>0){
			return "ok";
		}
		return "err";
	}
}

MsgUserController

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<context:component-scan base-package="com.message.controller"></context:component-scan>

<!-- <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven> -->
<mvc:annotation-driven ></mvc:annotation-driven>
<!-- 拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/**/fonts/*"/>
     	<mvc:exclude-mapping path="/**/*.js"/>
     	<mvc:exclude-mapping path="/**/*.css"/>
     	<mvc:exclude-mapping path="/img/*"/>
     	<mvc:exclude-mapping path="/tools/*"/>  
     	<mvc:exclude-mapping path="/images/**/*"/>
     	<mvc:exclude-mapping path="/**/*.jpg"/>
    	<mvc:exclude-mapping path="/**/*.png"/>
     	<mvc:exclude-mapping path="/**/*.gif"/>
     	<mvc:exclude-mapping path="/**/*.jpeg"/>
     	<mvc:exclude-mapping path="/**/*login*"/>
     	
<bean class="com.message.interceptor.LoginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/WEB-INF/jsp/"></property>
	<property name="suffix" value=".jsp"></property>	
</bean>
<bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver">
	<property name="maxUploadSize" value="10485760"></property>
	<property name="defaultEncoding" value="UTF-8"></property>
</bean>

<mvc:resources location="/WEB-INF/css/" mapping="/css/**"></mvc:resources>
<mvc:resources location="/WEB-INF/js/" mapping="/js/**"></mvc:resources>
<mvc:resources location="/WEB-INF/img/" mapping="/img/**"></mvc:resources>
<mvc:resources location="/WEB-INF/tools/" mapping="/tools/**"></mvc:resources>
</beans>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值