spring mvc 07 火推

来源:互联网 发布:陕西省大数据集团 录取 编辑:程序博客网 时间:2024/05/18 13:06

1.实现登录 ---- 跳转到登录页面
  1.1建立一个项目  2.4   拷贝jsp 页面到 WEB-INF  
   js css img imges放WebContent  拷贝ioc  aop  mvc  dao  连接池 
   jstl  数据库驱动包 
  1.2 把web.xml 配置一个 DispacherServlet 
  1.3 把Spring 对应的配置文件拷贝过来 
     开启组件扫描  开启标注形式的spring mvc  视图处理器 
  1.4 写一个用户登录的控制器  UserLoginController
      加 @Controller 
     在 方法上 加  @RequestMapping("/地址")
    
2.实现登录  -----根据用户是否存在 进行页面跳转 
  2.1 根据xdl_user 表 设计一个实体类 
  2.2 设计一个接口   更加用户名 和 密码 查询用户是否存在
  2.3 写一个实现类   注入 模板 和 注入 dataSource(配置文件中要出现 模板和dataSource)
      使用模板中的查询方法 来实现用户是否存在的查询
  2.4 写一个Service 包装 dao 
  2.5 写一个控制器 接收页面传递的参数  用户名 和 密码 
      根据Service 查询出 用户对象  把用户放入session
  2.6 在book.jsp 中显示 用户的名字     
3.在控制器中如何获取session 
  传入HttpServletRequest  参数  然后调用 getSession()
 或者  传入 HttpSession  直接使用 
4.中文乱码问题 
  4.1 之前的解决方案依然可用
  post     request.setCharacterEncoding("utf-8"); 
  get      先解码  再编码 
  4.2 spring 中的针对 post 请求的编码过滤器 
    <filter>
     <filter-name>springEncoding</filter-name>
     <filter-class>
     org.springframework.web.filter.CharacterEncodingFilter
     </filter-class>
     <init-param>
          <param-name>encoding</param-name>
          <param-value>utf-8</param-value>
     </init-param>
</filter>
<filter-mapping>
     <filter-name>springEncoding</filter-name>
     <url-pattern>*.do</url-pattern>
</filter-mapping>
5.Spring MVC 转发 和 重定向 
  5.1  转发
  spring MVC 中页面跳转 默认是 转发 
  5.2 重定向 
  302 + Location
  // 重定向
  return  "redirect:地址.do";  这里 "/"   这个包括项目名 严格来说不应该包含
  // 特殊说明的转发   
  return  "forward:地址.do"    这个地址和 RedirectView 中的地址
    转发中 "/" 包括项目名  因为转发只能在项目内
    写法不一样 
  @RequestMapping("/login5.do")
   public  ModelAndView  login5(XdlUser user,HttpSession session){
 session.setAttribute("user", user);
 // 重定向 
 ModelAndView  mav = new  ModelAndView();
 RedirectView  rdView = new RedirectView
("/spring-mvc-day07/user/bookMain.do");
 mav.setView(rdView);
 return  mav;
   }
 6.拦截器 
   6.1 拦截器的三个拦截点  对应 HandlerInterceptor 接口中三个方法 
   preHandle()
        处理器调用之前 
   postHandle()
       处理器调用之后   视图处理器调用之前 
   afterCompletion()
      响应之前
   6.2 用户是否登录的拦截器 
   
   
   
   
   
   
   
  
      
      
      
      








     
    

原创粉丝点击