关于Jquery版本的Ajax和SpringMVC拦截器(Interceptor)
来源:互联网 发布:freemind软件 编辑:程序博客网 时间:2024/06/02 06:53
直接贴出代码
Aajx页面部分
首先要导入jquery标签 在这里就不写了
<script type="text/javascript"> //入口函数 $(function name() { //通过id获得username 失去焦点事件 $("#username").blur(function() { var name = $("#username").val(); $("span").empty(); if(name==""){ var span = $("<span>请输入用户名!</sapan>"); $("#username").after(span); $("#sum").attr("disabled", "disabled"); return false; } $.ajax({ type : "GET", url : "userAction/userExist.action", data : { username : $("#username").val() }, dataType : "json", success : function(data) { $("span").empty(); if (data == "1") { var span = $("<span>用户名已存在!</sapan>"); $("#username").after(span); $("#sum").attr("disabled", "disabled"); } else { var span = $("<span>用户名可以使用.</sapan>"); $("#sum").removeAttr("disabled"); $("#username").after(span); } } }); }); }); </script>
表单页面
<form action="userAction/addUser.action" method="post" onsubmit="return chchch()"> <table align="center"> <tr> <td>用户名</td> <td><input name="username" id="username"></td> </tr> <tr> <td>密码</td> <td><input name="password" type="password" id="password"></td> </tr> <tr> <td><input type="submit" value="注册" class="btn btn-default" id="sum"></td> </tr> </table> </form>
后台代码
//判断用户名是否存在 @RequestMapping("/userExist") public void userExist(User user, HttpServletResponse httpServletResponse) throws Exception { System.out.println(user.getUsername()); User u = userService.userExist(user); if (u != null) { httpServletResponse.getWriter().write("1"); }else{ httpServletResponse.getWriter().write("2"); } }
这个Ajax运行原理就是前台输入姓名 失去焦点后 jquery获取姓名的属性 Ajax异步请求到后台 进行查询 如果查询到这条数据 代表这条数据存在(也就是说姓名已存在 不能使用 否则则可以使用.)
(ps:本demo中运用了一点bootstrap代码)
下边来看效果
下面是SpringMVC拦截器部分:
首先先在配置文件添加以下代码
<mvc:interceptors> <mvc:interceptor> <!-- 这句话意思是拦截所有请求 --> <mvc:mapping path="/**"/> <!-- 这一部分是配置哪些请求不进行拦截 --> <bean class="com.ssm.Interceptor.LoginInterceptor"></bean> </mvc:interceptor> </mvc:interceptors>
下面就是配置拦截器的java文件
package com.ssm.Interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;/** * @Date:2017年7月9日下午7:54:20 * @author :MrWang * @desc: */public class LoginInterceptor implements HandlerInterceptor{ @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { // TODO Auto-generated method stub } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { // TODO Auto-generated method stub } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception { //获取请求的url String url = request.getRequestURI(); //这是不拦截的url地址 if(url.indexOf("userAction/login.action")>=0){ return true; } //这个也是不拦截的url地址 if(url.indexOf("userAction/addUser.action")>=0){ return true; } //这是ajaxurl地址 也是不进行拦截 if(url.indexOf("userAction/userExist.action")>=0){ return true; } //获取session 如果浏览器有用户信息 不进行拦截 HttpSession session = request.getSession(); String username = (String) session.getAttribute("username"); if(username!=null){ return true; } //不符合条件的,跳转到登录界面 request.getRequestDispatcher("/denglu.jsp").forward(request, response); return false; }}
这样就配好了springmvc拦截器
当然 如果配置的session查询用户信息 那就必须现在controller层在session里添加用户信息
如下:
阅读全文
0 0
- 关于Jquery版本的Ajax和SpringMVC拦截器(Interceptor)
- SpringMVC的interceptor拦截器
- SpringMVC的拦截器Interceptor
- SpringMVC的拦截器Interceptor
- 关于 SpringMVC 拦截器(Interceptor)的实现及应用
- SpringMVC 拦截器Interceptor
- SpringMVC-Interceptor拦截器
- springMVC拦截器 interceptor!
- SpringMVC拦截器Interceptor
- SpringMVC Interceptor拦截器
- springmvc 拦截器interceptor
- SpringMvc 拦截器 Interceptor的基础知识
- springMVC中Interceptor拦截器的使用
- SpringMVC的Interceptor拦截器介绍
- SpringMVC中的Interceptor拦截器
- SpringMVC 中的Interceptor 拦截器
- SpringMVC 笔记--拦截器--interceptor
- SpringMVC 中的Interceptor 拦截器
- C#---ADO.net
- Codeforces 822 C. Hacker, pack your bags! 思维
- (OK) MIMP
- Ubuntu16.04 +cuda8.0+cudnn+opencv+caffe+theano+tensorflow配置明细
- HttpUrlconnectionPsot方法请求listview展示
- 关于Jquery版本的Ajax和SpringMVC拦截器(Interceptor)
- 数据库 第一、第二、第三范式说明
- SQL的having和where的区别
- 【GDOI2018模拟7.9】期末考试
- Python编码问题
- 通过摄像机视频设备或者流媒体服务器SDK获取到数据转换成RTMP流实现网页/手机微信播放
- The VirtualBox Linux kernel driver (vboxdrv) is either not loaded
- 踏入写博客的行列
- linux 权限管理命令