shiro在没有注销的情况下重新登陆的问题
,就是用户登陆之后一直后退,会后退到登陆界面,如果用户这个时候再输入用户名和密码进行登陆的时候shiro就会报一个错误。
解决办法:将登录之前的if判断注释掉就行了。因为如果登陆了没退出,在if的作用下是不会再进行登录判断的。
这里引一条百度上搜到的博客:https://blog.csdn.net/feixiangsmile/article/details/82260158
2021-06-16 14:18:48.614 ERROR 2436 --- [nio-8088-exec-8] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-8088-exec-8] Exception processing template "login": Error resolving template [login], template might not exist or might not be accessible by any of the configured Template Resolvers
org.thymeleaf.exceptions.TemplateInputException: Error resolving template [login], template might not exist or might not be accessible by any of the configured Template Resolvers
at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) [thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) [thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:366) [thymeleaf-spring5-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:190) [thymeleaf-spring5-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1393) [spring-webmvc-5.3.6.jar:5.3.6]
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1138) [spring-webmvc-5.3.6.jar:5.3.6]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1077) [spring-webmvc-5.3.6.jar:5.3.6]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) [spring-webmvc-5.3.6.jar:5.3.6]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.6.jar:5.3.6]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) [spring-webmvc-5.3.6.jar:5.3.6]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) [servlet-api.jar:4.0.FR]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.3.6.jar:5.3.6]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) [servlet-api.jar:4.0.FR]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [tomcat-embed-core-9.0.45.jar:9.0.45]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.45.jar:9.0.45]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-embed-websocket-9.0.45.jar:9.0.45]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.45.jar:9.0.45]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.45.jar:9.0.45]
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) [shiro-web-1.4.0.jar:1.4.0]
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.4.0.jar:1.4.0]
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.4.0.jar:1.4.0]
在使用shiro时遇到一个问题:
在进行正确的登录后,一直回退到登录界面,输入正确的账号和错误的密码时会报错。如果输入正确的账号密码则会登录成功。
2021-06-16 14:34:25.911 ERROR 6980 --- [io-8088-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.shiro.authc.IncorrectCredentialsException: Submitted credentials for token [org.apache.shiro.authc.UsernamePasswordToken - 111, rememberMe=false] did not match the expected credentials.] with root cause
org.apache.shiro.authc.IncorrectCredentialsException: Submitted credentials for token [org.apache.shiro.authc.UsernamePasswordToken - 111, rememberMe=false] did not match the expected credentials.
at org.apache.shiro.realm.AuthenticatingRealm.assertCredentialsMatch(AuthenticatingRealm.java:603) ~[shiro-core-1.4.0.jar:1.4.0]
遇到时间转换问题,如下
解决办法:
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = format.format(date);
将数据库和实体类字段的属性都改成String就行了
超链接问题:
参加项目
超链接弹窗问题:
<td><a onClick="return confirm('确定删除?');" th:href="@{/delOneStu(id=${user.id})}">删除</a></td>
审核问题:
<td>
<select name="state">
<option value="1">通过</option>
<option value="2">不通过</option>
</select>
</td>
File f = new File("C:\\Windows\\notepad.exe");
注意Windows平台使用\
作为路径分隔符,在Java字符串中需要用\\
表示一个\
。Linux平台使用/
作为路径分隔符:
// 假设当前目录是C:\Docs
File f1 = new File("sub\\javac"); // 绝对路径是C:\Docs\sub\javac
File f3 = new File(".\\sub\\javac"); // 绝对路径是C:\Docs\sub\javac
File f3 = new File("..\\sub\\javac"); // 绝对路径是C:\sub\javac
可以用.
表示当前目录,..
表示上级目录。
idea建spring boot不成功问题:
https://www.cnblogs.com/tanghaorong/p/14438237.html
记录总数:
<div align="center">您共有 【<span th:text="${noVfSum}"></span>】条记录待审核</div>
mybatis-plus多表查询问题:
先建立包含多表需要字段的实体
@Select("select e.name,e.field,e.etpeople,e.etphone,e.etemail,e.source,e.deadtime,e.newstime,e.tel,s.* from etproject e join stuaplpj s on s.pjnum=e.num where s.stutel=#{stutel}")
List getStuAttendProjects(String stutel);
显示状态问题:
<td>状态</td>
<div th:switch="${project.state}">
<td th:case="0">已审核</td>
<td th:case="1">通过</td>
<td th:case="2">不通过</td>
</div>
在文件下载的时候遇到这个问题:
getOutputStream() has already been called for this response
网上说什么jsp调用冲突,但是我都没写过jsp页面也不懂。最后找到了解决办法。加上
@ResponseBody 就解决了。
https://www.pianshen.com/article/607764122/
当遇到空指针BUG,或者灵异BUG时,记得检查下数据库的字段是否为null导致的。这个坑自己已经踩了很多次了,切记!
在使用<form>的<select>控件时,如果后端是用int类型来接收的话,就必须为每一个<option>设定一个默认值,不然会出错,而且找都找不到那种错误。(注:字符串则不用)