01.创建一个登录界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>My JSP 'index.jsp' starting page
02.创建对应的struts.xml文件
/interceptor login
03.创建对应的UserAction
public class UserAction extends ActionSupport{ private User user; //验证的对象 //登录的方法 public String login(){ System.out.println("进入UserAction的login()"); //把前台登录的用户信息保存到session Mapsession = ActionContext.getContext().getSession(); if (user.getName()!=null&&!user.getName().equals("")) { session.put("user", user.getName()); }else { session.put("user", ""); } return SUCCESS; } public User getUser() { return user; } public void setUser(User user) { this.user = user; }}
04.创建对应的user.xml文件
应该是先创建loginAction,之后创建对应的拦截器! 最后把拦截器配置在xml文件中!
/error.jsp /success.jsp
05.创建对应的LoginAction
public class LoginAction extends ActionSupport { public String login(){ System.out.println("这是LoginAction中的login()"); return SUCCESS; }}
06.创建对应的拦截器
public class LoginInterceptor implements Interceptor { /** * 在整个拦截器的生命周期中! * 服务器启动的时候执行一次! */ @Override public void init() { System.out.println("拦截器的init()...................."); }/** * intercept相当于我们filter中的doFilter() * 拦截一次请求,就会执行一次! */ @Override public String intercept(ActionInvocation invocation) throws Exception { System.out.println("拦截器的intercept()...................."); System.out.println("当期的执行Action====:"+invocation.getAction()); Mapsession = ActionContext.getContext().getSession(); //从session中获取用户的姓名 String name=(String) session.get("user"); if (name!=null&&!name.equals("")) { //说明前台用户有输入 //放行 return invocation.invoke(); }else { return "error"; } } /** * 在整个拦截器的生命周期中! * 服务器关闭的时候执行一次! */ @Override public void destroy() { System.out.println("拦截器的destroy()................."); }}
07.错误界面 ! 省略!