配置 springMVC,Security 等
- (使用@Resource需要) @Resource 旧版本
- 全注解配置SpringMVC
- 配置 SpringSecurity
- 配置静态资源解析
- 配置视图解析器
- 使用Spring实现Mybatis全注解配置
- 记住我持久化保存
- 自定义验证
- 自定义登录页面
首页
配置主页的获取借阅列表:
@Controller
public class IndexController {
@Resource
BorrowMapper borrowMapper;
@RequestMapping(value = {"/", "index"})
public String index(Model model) {
User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
List<Borrow> borrowList = borrowMapper.getBorrowList();
model.addAttribute(user.getUsername());
model.addAttribute("borrowList",borrowList);
return "index";
}
@GetMapping(value="/login")
public String login() {
return "login";
}
}
对应的BorrowMapper:
public interface BorrowMapper {
@Results({
@Result(column = "sid", property = "sid"),
@Result(column = "bid", property = "bid"),
@Result(column = "date", property = "date"),
@Result(column = "name", property = "student_name"),
@Result(column = "title", property = "book_name")
})
@Select("select * from borrow left join student on borrow.sid = student.sid left join book on borrow.bid = book.bid")
public List<Borrow> getBorrowList();
}
结尾
爆这个错:
org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Web
创建一个Listener包然后加入该类即可,手动关闭sql:
package com.listener;
import com.mysql.cj.jdbc.AbandonedConnectionCleanupThread;
import jakarta.servlet.ServletContextEvent;
import jakarta.servlet.ServletContextListener;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Enumeration;
public class MysqlListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent sce) {
try {
Enumeration<Driver> drivers = DriverManager.getDrivers();
while(drivers.hasMoreElements()) {
DriverManager.deregisterDriver(drivers.nextElement());
}
AbandonedConnectionCleanupThread.checkedShutdown();
}catch (SQLException e) {
e.printStackTrace();
}
}
}