SpringMVC的拦截器,路径拦截与排除问题

图片说明

需求:
现在我想不拦截/item/这个路径下的大部分url,但是又需要拦截少量的url。

问题:
按道理我这段代码是这个意思,可是没有测试没有拦截我设置的/item/下的少量url。

希望各位前辈看看眼,分享下解决思路和办法。不胜感激!

1个回答

是不是因为通配与具体路径之间有冲突,导致优先通配的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
springmvc中拦截器拦截路径

springmvc下写一个登录的拦截器,怎么在XML配置文件中配置拦截多个路径?还是一个拦截器只能有一个拦截路径?

springMVC拦截器如何拦截多个路径

springmvc下写一个登录的拦截器,怎么在配置文件中配置拦截多个路径?还是一个拦截器只能有一个拦截

SpringMVC拦截器,设置不拦截的url

![图片说明](https://img-ask.csdn.net/upload/201809/20/1537429266_263105.png) 图中我配置的<mvc:exclude-mapping path="/api/applyExamList"/>这个请求不拦截,但是不起作用,而配置的别的不拦截的url就可以,这是为什么啊

SpringMvc拦截器配置怎么配置拦截一个网站

我想拦截一个网址,比如页面的地址是www.XXXX.com。配置文件怎么配? 不拦截全部,只拦截单个网址的那种

springMVC拦截器不能转跳页面怎么解决?

springMVC拦截器HandlerInterceptor,重写preHandle方法,用response.sendRedirect("/login.do");转跳页面,发现页面不能转跳,不知道为什么,但好像是因为页面包含异步Ajax导致。求解决办法。

SpringMVC拦截器跳转会自动在跳转的路径加请求!

首先感谢各位朋友帮忙!! 问题如下: 我使用了拦截器控制登录状态,现在我能够进入拦截器,问题在于我转发到页面的时候,转发路径会在我写的 地址前面+ 请求,变成新的地址 比如,我发的请求是 back/getAll,会自动返回一个新jsp页面的地址 SessionFilter: public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception { Employee employee = (Employee) request.getSession().getAttribute("employee"); if (null == employee) { // 跳转方式一:(二选一)我两种都试了 response.sendRedirect("WEB-INF/pages/back/login/login.jsp"); //跳转方式二: request.getRequestDispatcher("WEB-INF/pages/back/login/login.jsp").forward(request, response); return false; } else { return true; } } SpringMVC配置文件: <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/back/**"/><!--我这里有多级请求--> <bean class="sessionFilter.SessionFilter"/> </mvc:interceptor> </mvc:interceptors> 结果页面: ![图片说明](https://img-ask.csdn.net/upload/201704/22/1492849497_82520.png)

Springmvc拦截器导致controllor不执行

拦截器代码: ``` @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { logger.warn("==============执行顺序: 1、preHandle================"); String requestUri = request.getRequestURI(); String contextPath = request.getContextPath(); String url = requestUri.substring(contextPath.length()); logger.warn("requestUri:"+requestUri); logger.warn("contextPath:"+contextPath); logger.warn("url:"+url); String username = (String)request.getSession().getAttribute("un"); System.out.println(username); if(username == null){ logger.warn("Interceptor:跳转到login页面!"); // response.sendRedirect("loginStuUI.jsp"); request.getRequestDispatcher("loginStuUI.jsp").forward(request, response); return false; }else logger.warn("登录成功"); return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { logger.warn("==============执行顺序: 2、postHandle================"); response.sendRedirect("/loginStuUI.jsp"); if(modelAndView != null){ //加入当前时间 modelAndView.addObject("var", "测试postHandle"); } } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { logger.warn("==============执行顺序: 3、afterCompletion================"); } ``` Springmvc.xml代码: ``` <context:annotation-config /> <context:component-scan base-package="com.iss.controllor"></context:component-scan> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/admin/" /> <property name="suffix" value=".jsp" /> </bean> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> </bean> </mvc:message-converters> </mvc:annotation-driven> <mvc:default-servlet-handler /> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="com.iss.controllor.CommonInterceptor"></bean> </mvc:interceptor> </mvc:interceptors> ``` controllor代码: ``` @RequestMapping("/login") public String login(User user, Map map, HttpSession session) { System.out.println("login"); if (userServiceImpl.userLogin(user)) { session.setAttribute("user", user); session.setAttribute("un", user.getUname()); map.put("unameMsg",user.getUname()); logger.warn(user.getUname() + "成功登陆一次"); return "iiindex"; } else { map.put("loginMsg", "登录失败,请重试"); return "../loginStuUI"; } } ``` 登录界面代码: ``` <form action="login" id="signupForm" method="post"> ${loginMsg} <input type="text" name="uname" placeholder="请输入登录名" required> <input type="password" name="upwd" placeholder="请输入密码" required> <input type="submit" name="submit" id="submit" value="登录" class="btn-style-01"> <a href="register2.jsp" >注册</a> </form> ``` 控制台输出语句: ``` 2017-04-10 22:46:10 WARN [com.iss.controllor.CommonInterceptor] ==============执行顺序: 1、preHandle================ 2017-04-10 22:46:10 WARN [com.iss.controllor.CommonInterceptor] requestUri:/Test1/login 2017-04-10 22:46:10 WARN [com.iss.controllor.CommonInterceptor] contextPath:/Test1 2017-04-10 22:46:10 WARN [com.iss.controllor.CommonInterceptor] url:/login null 2017-04-10 22:46:10 WARN [com.iss.controllor.CommonInterceptor] Interceptor:跳转到login页面! ``` 假如把拦截器设置成如下: ``` if(username == null){ logger.warn("登录成功"); return true; }else ``` 则可执行controllor 控制台输出如下所示: ``` 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] ==============执行顺序: 1、preHandle================ 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] requestUri:/Test1/login 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] contextPath:/Test1 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] url:/login null 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] 登录成功 login 2017-04-10 23:10:17 WARN [com.iss.controllor.ACTION] admin成功登陆一次 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] ==============执行顺序: 2、postHandle================ 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] ==============执行顺序: 3、afterCompletion================ 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] ==============执行顺序: 1、preHandle================ 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] ==============执行顺序: 1、preHandle================ 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] requestUri:/Test1/admin/img/icon_san.jpg 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] contextPath:/Test1 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] url:/admin/img/icon_san.jpg admin 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] ==============执行顺序: 1、preHandle================ 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] requestUri:/Test1/admin/img/dyz.JPG 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] contextPath:/Test1 2017-04-10 23:10:17 WARN [com.iss.controllor.CommonInterceptor] url:/admin/img/dyz.JPG admin ``` 请问一下这是什么原因导致的 谢谢

springMVC 拦截器如何做登录检查及页面跳转

<div class="iteye-blog-content-contain" style="font-size: 14px;"> <p>一个非常简单的登录权限拦截器</p> <p>问题一:登录页面的提交请求肯定是要过滤掉的,目前采用在xml里配置&lt;mvc:mapping path="/supplier/*"/&gt;来过滤,可不可以配置不拦截某种请求。如果是按目前这种配置需要拦截请求,当请求太多的时候那就太麻烦了。</p> <p>问题二:我简单地在拦截器里判断session是否有值,如果有表示登录,如果没有则跳转登录页面。按我下面的做法是不行的,有没有正确而有效的方法。</p> <p>问题三:如果大家能够给出在拦截器内跳转页面的方案,可我的login.jsp是放在WEB-INF下面的,通过ModelAndView跳转时,视图解析器会跳转到/WEB-INF/login.jsp下,那肯定是找不到页面的。但如果我放到此文件夹下,那浏览器又不能访问login.jsp页面了。</p> <p> </p> <pre name="code" class="java">public class UserInterceptor implements HandlerInterceptor{ @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception err) throws Exception { } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception { response.sendRedirect("/login.jsp"); } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception { String str = (String) request.getSession().getAttribute("isLogin"); System.out.println("str=========&gt;"+str); if(str!=null){ return true; } return false; } }</pre> <p> </p> <pre name="code" class="xml">&lt;!-- 自定义拦截链配置 --&gt; &lt;mvc:interceptors&gt; &lt;mvc:interceptor&gt; &lt;mvc:mapping path="/supplier/*"/&gt; &lt;mvc:mapping path="/goods/*"/&gt; &lt;mvc:mapping path="/contact/*"/&gt; &lt;bean class="com.xiaoxing.shangjia.user.controller.UserInterceptor"&gt;&lt;/bean&gt; &lt;/mvc:interceptor&gt; &lt;/mvc:interceptors&gt;</pre> <p> </p> </div>

springMVC 拦截器 异步【急】大神在哪里?帮帮忙

需求: 记录 每次用户的登陆信息保存数据库 (为了性能更好 将每次用户登录的信息先保存到队列中 每过10分钟后取出队列的信息 保存到数据库中 然后清空队列 计算机重复操作) springMVC拦截器已经写好。 问题1:因为每次取得的信息要保存到同一个队列中,这里的队列是申明 静态的吗? 问题2:这里有用到多线程?(不理解) 问题3:每过10分钟的操作队列中有这种方法?(还是写定时器 也不是太理解)

springmvc拦截器效率问题

求大神指点,这样写拦截器效率会不会很低,或者有没有效率更高的方法,目前拦截30个url,之后还有可能增加。在线等,急,解决问题我再追加C币 ![图片说明](https://img-ask.csdn.net/upload/201711/20/1511157416_813642.png)

springmvc中的拦截器不起作用,进不了拦截器

![![图片说明](https://img-ask.csdn.net/upload/201605/28/1464424356_555303.png)图片说明](https://img-ask.csdn.net/upload/201605/28/1464424307_712511.png),是不是我代码错了啊?拦截器里的字都打印不出来

SpringMvc 拦截器(Maven工程)

我在web工程里面引入了一个common的工程,把common工程中的一个的类作为拦截器,但是启动的时候会报错 Cannot create inner bean 'XXX.XXX.common.interceptor.LogInterceptor#0',我在配置文件里面都能点到那个类里面. spring配置如下: mvc:mapping path="/*"/ bean class="XXX.XXX.common.interceptor.LogInterceptor"/bean /mvc:interceptor ( 尖括号都去掉了,要不看不到代码) 同样的配置,我把改类放到web工程下就是OK的,难道spring注册bean的时候,不能注册引用工程的类么

基于注解SpringMvc拦截器无法使用

在我自定义的拦截器中打了断点一直无法进入,拦截器定义在controllers.xml中 代码如下帮忙解决下,谢谢 [code="java"] package com.core.Interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; /** * 拦截器 */ public class BasedInterceptor extends HandlerInterceptorAdapter { //预处理 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession sesson = request.getSession(); if(sesson.getAttribute("user") == null){ request.getRequestDispatcher("index.jsp").forward(request, response); return false; } return true; } public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { request.getRequestDispatcher("index.jsp").forward(request, response); } public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { request.getRequestDispatcher("index.jsp").forward(request, response); } } [/code] web.xml [code="xml"] <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>SpringTest</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 对像js,css,gif等静态文件的访问,需要映射到默认的servlet --> <!-- 这里省去对静态资源url的配置,当然这样的话tomcat控制台就会报警告了,对html的请求、页面中的图片及css效果也是无法访问的 不过我们这是搭基本环境嘛,就先不要图片吧,如果想解决这个问题,可以看我另外一篇文章: --> <!-- 配置spring核心servlet --> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.do</url-pattern> <!-- url配置为/,不带文件后缀,会造成其它静态文件(js,css等)不能访问。如配为*.do,则不影响静态文件的访问 --> </servlet-mapping> <!-- Spring 刷新Introspector防止内存泄露 --> <listener> <listener-class> org.springframework.web.util.IntrospectorCleanupListener </listener-class> </listener> <!-- 字符编码过滤器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <!-- 欢迎页面 --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> [/code] servlet-context.xml [code="xml"] <?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation=" http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <!-- Configures the @Controller programming model 必须加上这个,不然请求controller时会出现no mapping url错误--> <mvc:annotation-driven /> <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/jsp directory --> <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <beans:property name="prefix" value="/WEB-INF/view/" /> <beans:property name="suffix" value=".jsp" /> </beans:bean> <beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="utf-8" /> <!-- Imports user-defined @Controller beans that process client requests --> <beans:import resource="controllers.xml" /> </beans:beans> [/code] controllers.xml [code="xml"] <?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:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd" default-autowire="byName"> <!-- Maps '/' requests to the 'home' view <mvc:view-controller path="*.do" view-name="home"/>--> <!-- enable autowire --> <context:annotation-config /> <!--拦截器--> <bean id="basedAccessInterceptor" class="com.core.Interceptor.BasedInterceptor"/> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> <property name="interceptors"> <list> <ref bean="basedAccessInterceptor"/> </list> </property> </bean> <!-- 扫描业务组件 --> <context:component-scan base-package="com.mvc.controller" /> </beans> [/code]

resteasy 集成spring 导致 springmvc拦截器失效

C币不足 sorry... 问题描述:spring springmvc resteasy 集成之后,自定义springmvc拦截器就失效了。控制台能输出--HelloController.hello--,就是进不去拦截器,不知道什么原因,求大佬指教。不甚感激 ``` 控制器类 @Controller @Path("/ws/a") public class HelloController { @POST @Path("/aa") @Produces(MediaType.APPLICATION_JSON) public String hello() { System.out.println("--HelloController.hello--"); return "Hello";// 返回视图组件的名字 } } ``` ``` 拦截器类 public class SimpleInterceptor extends HandlerInterceptorAdapter { public SimpleInterceptor() { System.out.println("=============================================="); } @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { System.out.println("--页面渲染之后我来处理--"); } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { System.out.println("--返回响应之后我来处理--"); } @Override public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception { System.out.println("--方法执行之前我来处理--"); return true;// 继续执行流程 } } ``` ``` web.xml <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> ``` ``` servlet.xml <!-- 拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="com.xx.xx.xx.interceptor.SimpleInterceptor" /> </mvc:interceptor> </mvc:interceptors> ```

springmvc拦截器拦截可以处理非法字符吗?

我拦截请求,并对请求的参数做了过滤 如图: ![图片说明](https://img-ask.csdn.net/upload/201601/28/1453949481_34097.png) 然后到了controller里面 参数并没有改变 ,请问是我解决方法的问题吗?这种方法行的通吗?还是少了些东西?谢谢大神 ![图片说明](https://img-ask.csdn.net/upload/201601/28/1453949560_969027.png)

springmvc拦截器跳转问题

public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception { HttpSession session = httpServletRequest.getSession(); Object UserId = session.getAttribute("userId"); String InterUri = httpServletRequest.getServletPath(); String requesturl = httpServletRequest.getRequestURI(); String contextpath = httpServletRequest.getContextPath(); String url = requesturl.substring(contextpath.length()); if ( null ==UserId){ if (httpServletRequest.getCookies()!=null) { Cookie[] cookies = httpServletRequest.getCookies(); if (cookies != null && cookies.length > 0) { String usercook = null; for (Cookie cookie : cookies) { if ("UserCookie".equals(cookie.getName())) { usercook = cookie.getValue(); String[] Susercook = usercook.split(","); if (Susercook.length == 3) { int userId = Integer.parseInt(Susercook[0]); User user = userService.findbuId(userId); String username = Susercook[1]; String password; if (username.indexOf("@") > 0) { password = Susercook[2]; if (username.equals(user.getEmail()) && password.equals(user.getPassword())) { session.setAttribute("UserId", userId); break; } } else {//手机登录 password = Susercook[2]; if (username.equals(user.getPhone()) && password.equals(user.getPassword())) { session.setAttribute("userId", userId); break; } } } } } if (usercook!=null){ return true; } } } } else{//id // httpServletResponse.sendRedirect(httpServletRequest.getContextPath() +"/Main.jsp"); if(null != allowUrls && allowUrls.length>=1){ for(String path : allowUrls) { if(url.contains(path)) { return true; } } } } return true; } 有没有大神帮下忙,为什么 responsesendredirect(页面)根本没反应 还不能return false,不然静态资源又会被拦截,跳页面时候 httpServletRequest.getServletPath();全是静态资源路径没有跳转的页面路径,我的跳转不经过controller跳转,直接页面跳页面,session也得刷新一下页面才能拿得到,感觉好影响项目效率。在线等,好急啊,做了好几天没解决。

关于springmvc拦截器的问题

## web.xml ``` <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <!-- 加载spring容器 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext-*.xml</param-value> </context-param> <!--配置DispatcherServlet--> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--SpringMVC配置文件--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <!--配置DispatcherServlet映射--> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app> ``` ## HomeController ``` package com.vansl.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; /** * @author: vansl * @create: 18-3-17 下午11:58 */ @Controller public class HomeController { //添加一个日志器 private static final Logger logger = LoggerFactory.getLogger(HomeController.class); //映射一个action @RequestMapping("/index") public String index(){ System.out.print(1); //输出日志文件 logger.info("the first jsp pages"); //返回一个index.jsp这个视图 return "index"; } } ``` 2个文件如上,按照我的理解是启动项目的时候员工是访问index.html 然而启动的时候 访问/却被/index拦截了???,拦截index.html 导致进不去index.html报404是我的常规思想,但是访问/为什么会被/index拦截了呢 而且发现她只会访问 index方法 方法改了名字就不访问了

springmvc 拦截器 配置

springmvc 拦截器 能对某个方法进行拦截么?配置文件拦截方法是怎么配置的?

关于SpringMVC拦截器的问题

谁能告诉我SpringMVC拦截器中怎样才能实现不重定向而是打开一个新窗口?

MySQL 8.0.19安装教程(windows 64位)

话不多说直接开干 目录 1-先去官网下载点击的MySQL的下载​ 2-配置初始化的my.ini文件的文件 3-初始化MySQL 4-安装MySQL服务 + 启动MySQL 服务 5-连接MySQL + 修改密码 先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置初始化的my.ini文件的文件 ...

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉系统全面的介绍。

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂

navicat(内含激活码)

navicat支持mysql的可视化操作,内涵激活码,不用再忍受弹框的痛苦。

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

基于STM32的电子时钟设计

时钟功能 还有闹钟功能,温湿度功能,整点报时功能 你值得拥有

学生成绩管理系统(PHP + MYSQL)

做的是数据库课程设计,使用的php + MySQL,本来是黄金搭配也就没啥说的,推荐使用wamp服务器,里面有详细的使用说明,带有界面的啊!呵呵 不行的话,可以给我留言!

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

程序员的兼职技能课

获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:itxy41)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!

实用主义学Python(小白也容易上手的Python实用案例)

原价169,限时立减100元! 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 69元=72讲+源码+社群答疑+讲师社群分享会&nbsp; 【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公:通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫:通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

Java8零基础入门视频教程

这门课程基于主流的java8平台,由浅入深的详细讲解了java SE的开发技术,可以使java方向的入门学员,快速扎实的掌握java开发技术!

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

零基础学C#编程—C#从小白到大咖

本课程从初学者角度出发,提供了C#从入门到成为程序开发高手所需要掌握的各方面知识和技术。 【课程特点】 1 由浅入深,编排合理; 2 视频讲解,精彩详尽; 3 丰富实例,轻松易学; 4 每章总结配有难点解析文档。 15大章节,228课时,1756分钟与你一同进步!

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

多功能数字钟.zip

利用数字电子计数知识设计并制作的数字电子钟(含multisim仿真),该数字钟具有显示星期、24小时制时间、闹铃、整点报时、时间校准功能

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

想学好JAVA必须要报两万的培训班吗? Java大神勿入 如果你: 零基础想学JAVA却不知道从何入手 看了一堆书和视频却还是连JAVA的环境都搭建不起来 囊中羞涩面对两万起的JAVA培训班不忍直视 在职没有每天大块的时间专门学习JAVA 那么恭喜你找到组织了,在这里有: 1. 一群志同道合立志学好JAVA的同学一起学习讨论JAVA 2. 灵活机动的学习时间完成特定学习任务+每日编程实战练习 3. 热心助人的助教和讲师及时帮你解决问题,不按时完成作业小心助教老师的家访哦 上一张图看看前辈的感悟: &nbsp; &nbsp; 大家一定迫不及待想知道什么是极简JAVA学习营了吧,下面就来给大家说道说道: 什么是极简JAVA学习营? 1. 针对Java小白或者初级Java学习者; 2. 利用9天时间,每天1个小时时间; 3.通过 每日作业 / 组队PK / 助教答疑 / 实战编程 / 项目答辩 / 社群讨论 / 趣味知识抢答等方式让学员爱上学习编程 , 最终实现能独立开发一个基于控制台的‘库存管理系统’ 的学习模式 极简JAVA学习营是怎么学习的? &nbsp; 如何报名? 只要购买了极简JAVA一:JAVA入门就算报名成功! &nbsp;本期为第四期极简JAVA学习营,我们来看看往期学员的学习状态: 作业看这里~ &nbsp; 助教的作业报告是不是很专业 不交作业打屁屁 助教答疑是不是很用心 &nbsp; 有奖抢答大家玩的很嗨啊 &nbsp; &nbsp; 项目答辩终于开始啦 &nbsp; 优秀者的获奖感言 &nbsp; 这是答辩项目的效果 &nbsp; &nbsp; 这么细致的服务,这么好的氛围,这样的学习效果,需要多少钱呢? 不要1999,不要199,不要99,只要9.9 是的你没听错,只要9.9以上所有就都属于你了 如果你: 1、&nbsp;想学JAVA没有基础 2、&nbsp;想学JAVA没有整块的时间 3、&nbsp;想学JAVA没有足够的预算 还等什么?赶紧报名吧,抓紧抢位,本期只招300人,错过只有等时间待定的下一期了 &nbsp; 报名请加小助手微信:eduxy-1 &nbsp; &nbsp;

Python可以这样学(第一季:Python内功修炼)

董付国系列教材《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》配套视频,讲解Python 3.5.x和3.6.x语法、内置对象用法、选择与循环以及函数设计与使用、lambda表达式用法、字符串与正则表达式应用、面向对象编程、文本文件与二进制文件操作、目录操作与系统运维、异常处理结构。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

机器学习实战系列套餐(必备基础+经典算法+案例实战)

机器学习实战系列套餐以实战为出发点,帮助同学们快速掌握机器学习领域必备经典算法原理并结合Python工具包进行实战应用。建议学习顺序:1.Python必备工具包:掌握实战工具 2.机器学习算法与实战应用:数学原理与应用方法都是必备技能 3.数据挖掘实战:通过真实数据集进行项目实战。按照下列课程顺序学习即可! 课程风格通俗易懂,用最接地气的方式带领大家轻松进军机器学习!提供所有课程代码,PPT与实战数据,有任何问题欢迎随时与我讨论。

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

几率大的Redis面试题(含答案)

本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内存淘汰机制【~】 Redis 为什么是单线程的,优点 如何解决redis的并发竞争key问题 Red...

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

【数据结构与算法综合实验】欢乐连连看(C++ & MFC)案例

这是武汉理工大学计算机学院数据结构与算法综合实验课程的第三次项目:欢乐连连看(C++ & MFC)迭代开发代码。运行环境:VS2017。已经实现功能:开始游戏、消子、判断胜负、提示、重排、计时、帮助。

YOLOv3目标检测实战:训练自己的数据集

YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。本课程将手把手地教大家使用labelImg标注和使用YOLOv3训练自己的数据集。课程分为三个小项目:足球目标检测(单目标检测)、梅西目标检测(单目标检测)、足球和梅西同时目标检测(两目标检测)。 本课程的YOLOv3使用Darknet,在Ubuntu系统上做项目演示。包括:安装Darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 Darknet是使用C语言实现的轻型开源深度学习框架,依赖少,可移植性好,值得深入探究。 除本课程《YOLOv3目标检测实战:训练自己的数据集》外,本人推出了有关YOLOv3目标检测的系列课程,请持续关注该系列的其它课程视频,包括: 《YOLOv3目标检测实战:交通标志识别》 《YOLOv3目标检测:原理与源码解析》 《YOLOv3目标检测:网络模型改进方法》 敬请关注并选择学习!

u-boot-2015.07.tar.bz2

uboot-2015-07最新代码,喜欢的朋友请拿去

相关热词 c# 开发接口 c# 中方法上面的限制 c# java 时间戳 c#单元测试入门 c# 数组转化成文本 c#实体类主外键关系设置 c# 子函数 局部 c#窗口位置设置 c# list 查询 c# 事件 执行顺序
立即提问
相关内容推荐