User控制器:
package controller;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import cn.sxt.vo.User;
@Controller
public class UserController {
@RequestMapping("/login")
public String login(User user, HttpSession session) {
if ("sigg".equals(user.getName()) && "111".equals(user.getAge())) {
session.setAttribute("user", user);
return "redirect:/index.jsp";
}
return "redirect:/login.jsp";
}
@RequestMapping("/add")
public String add()
{
System.out.println("add");
return "redirect:/index.jsp";
}
}
登录过滤器:
package interceptor;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class LoginInterceptor implements HandlerInterceptor {
private List<String> allowedPass;
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object arg2, Exception arg3)
throws Exception {
System.out.println("处理后");
response.sendRedirect(request.getContextPath()+"/login.jsp");
return;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response,
Object arg2, ModelAndView arg3) throws Exception {
// TODO Auto-generated method stub
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object arg2) throws Exception {
// TODO Auto-generated method stub
String strurl=request.getRequestURL().toString();
for(String temp:allowedPass)
{
if(strurl.endsWith(temp))
{
return true;
}
}
System.out.println("路径:"+strurl);
System.out.println("处理前");
response.sendRedirect(request.getContextPath()+"/index.jsp");
return false;
}
}
xml配置:
<!-- spring容器扫描指定包下的所有类,如果类上有注解 那么根据注解产生相应bean对象已经映射信息 -->
<context:component-scan base-package="controller"/>
<mvc:interceptors>
<mvc:interceptor>
<!-- /**表示改路径下的所有路径及其子路径 -->
<!-- <mvc:mapping path="/product/*"/>-->
<!--<mvc:mapping path="/cart/*"/>-->
<mvc:mapping path="/**"/>
<bean class="interceptor.LoginInterceptor">
<property name="allowedPass">
<list>
<value>login.do</value>
</list>
</property>
</bean>
</mvc:interceptor>
</mvc:interceptors>