报错信息
他说找不到mapper映射文件。我也查了好久,总结了网上找不到的几个原因
第一:接口名和mapper映射文件名一样,并且放在一个包里面
我也确实放在一个包里面,并且类明一样
第二种:
mapper文件的namespace是包的路径
也确实是吧。我也都赋值粘贴了好几次
第三种:target目录中没有生成对应的文件
这里面也确实有这些文件。
我的mybatis配置文件
只能把package 换成resource直接定位mapper映射文件了。这样才能正常运行
还有一点,这个问题是在我加了个自己写的拦截器之后变成这样了
拦截器代码:
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("进入拦截器");
HttpServletRequest request=(HttpServletRequest)servletRequest;
HttpServletResponse response=(HttpServletResponse)servletResponse;
String path=request.getServletPath();
//不应该被拦截的资源,直接放行
if ("/login.jsp".equals(path) || "/settings/user/login.do".equals(path)){
filterChain.doFilter(servletRequest,servletResponse);
//其他资源进行验证
}else {
User user=(User)request.getSession().getAttribute("user");
if (user!=null){
filterChain.doFilter(servletRequest,servletResponse);
}else {
response.sendRedirect(request.getContextPath()+"/login.jsp");
}
}
}
但是报错还有一个位置是
这个是我在拦截器之前写的一个过滤器,是用来过滤字符编码的
也可以说这两个都是过滤器,只是我用途不同。
web.xml文件中配置的两个过滤器。
总之,这个package问题出现的事件就是,配置了第二个过滤器之后。
最后只能配置成resource了
先保存一下,先不研究了,搞了一晚上,这都第二天上过又快过去了。也没找到原因。
或者有那位大哥看到知道原因告知一下~~