diff --git a/project/.idea/webContexts.xml b/project/.idea/webContexts.xml
new file mode 100644
index 0000000..7117c5a
--- /dev/null
+++ b/project/.idea/webContexts.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/project/pom.xml b/project/pom.xml
index 91d67bb..1e50d4f 100644
--- a/project/pom.xml
+++ b/project/pom.xml
@@ -30,7 +30,21 @@
spring-webmvc
5.3.27
-
+
+ org.springframework
+ spring-tx
+ 5.3.27
+
+
+ org.springframework
+ spring-jdbc
+ 5.3.27
+
+
+ org.springframework
+ spring-test
+ 5.3.27
+
org.mybatis
@@ -77,9 +91,63 @@
- commons-dbcp
- commons-dbcp
- 1.4
+ com.alibaba
+ druid
+ 1.1.20
+
+
+ junit
+ junit
+ 4.12
+ compile
+
+
+ com.github.pagehelper
+ pagehelper
+ 5.3.3
+
+
+ jstl
+ jstl
+ 1.2
+
+
+ taglibs
+ standard
+ 1.1.2
+
+
+
+ com.fasterxml.jackson.core
+ jackson-core
+ 2.9.2
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.9.2
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ 2.9.0
+
+
+ org.slf4j
+ slf4j-log4j12
+ 1.6.1
+
+
+
+ org.apache.logging.log4j
+ log4j-api
+ 2.10.0
+
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.10.0
\ No newline at end of file
diff --git a/project/src/main/java/cyou/chenx221/config/EncodingFilter.java b/project/src/main/java/cyou/chenx221/config/EncodingFilter.java
new file mode 100644
index 0000000..1d625cb
--- /dev/null
+++ b/project/src/main/java/cyou/chenx221/config/EncodingFilter.java
@@ -0,0 +1,19 @@
+package cyou.chenx221.config;
+
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import java.io.IOException;
+
+@WebFilter(filterName = "encodingFilter",urlPatterns = "/*")
+public class EncodingFilter implements Filter {
+ @Override
+ public void init(FilterConfig filterConfig) {}
+ @Override
+ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+ servletRequest.setCharacterEncoding("UTF-8");
+ servletResponse.setCharacterEncoding("UTF-8");
+ filterChain.doFilter(servletRequest,servletResponse);
+ }
+ @Override
+ public void destroy() {}
+}
diff --git a/project/src/main/java/cyou/chenx221/config/JdbcConfig.java b/project/src/main/java/cyou/chenx221/config/JdbcConfig.java
new file mode 100644
index 0000000..faf871f
--- /dev/null
+++ b/project/src/main/java/cyou/chenx221/config/JdbcConfig.java
@@ -0,0 +1,46 @@
+package cyou.chenx221.config;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.PropertySource;
+
+import javax.sql.DataSource;
+
+/*
+等同于
+
+ */
+@PropertySource("classpath:jdbc.properties")
+public class JdbcConfig {
+ /*
+ 使用注入的形式,读取properties文件中的属性值,
+ 等同于
+ */
+ @Value("${jdbc.driverClassName}")
+ private String driver;
+ @Value("${jdbc.url}")
+ private String url;
+ @Value("${jdbc.username}")
+ private String userName;
+ @Value("${jdbc.password}")
+ private String password;
+
+ /*定义dataSource的bean,
+ 等同于
+ */
+ @Bean("dataSource")
+ public DataSource getDataSource(){
+ //创建对象
+ DruidDataSource ds = new DruidDataSource();
+ /*
+ 等同于set属性注入
+ */
+ ds.setDriverClassName(driver);
+ ds.setUrl(url);
+ ds.setUsername(userName);
+ ds.setPassword(password);
+ return ds;
+ }
+}
+
diff --git a/project/src/main/java/cyou/chenx221/config/MyBatisConfig.java b/project/src/main/java/cyou/chenx221/config/MyBatisConfig.java
new file mode 100644
index 0000000..95182e3
--- /dev/null
+++ b/project/src/main/java/cyou/chenx221/config/MyBatisConfig.java
@@ -0,0 +1,36 @@
+package cyou.chenx221.config;
+
+import com.github.pagehelper.PageInterceptor;
+import org.apache.ibatis.plugin.Interceptor;
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.mapper.MapperScannerConfigurer;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+
+import javax.sql.DataSource;
+import java.util.Properties;
+
+public class MyBatisConfig {
+ @Bean
+ public PageInterceptor getPageInterceptor() {
+ PageInterceptor pageIntercptor = new PageInterceptor();
+ Properties properties = new Properties();
+ properties.setProperty("value", "true");
+ pageIntercptor.setProperties(properties);
+ return pageIntercptor;
+ }
+ @Bean
+ public SqlSessionFactoryBean getSqlSessionFactoryBean(@Autowired DataSource dataSource,@Autowired PageInterceptor pageIntercptor){
+ SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
+ ssfb.setDataSource(dataSource);
+ Interceptor[] plugins={pageIntercptor};
+ ssfb.setPlugins(plugins);
+ return ssfb;
+ }
+ @Bean
+ public MapperScannerConfigurer getMapperScannerConfigurer(){
+ MapperScannerConfigurer msc = new MapperScannerConfigurer();
+ msc.setBasePackage("cyou.chenx221.mapper");
+ return msc;
+ }
+}
\ No newline at end of file
diff --git a/project/src/main/java/cyou/chenx221/config/ServletContainersInitConfig.java b/project/src/main/java/cyou/chenx221/config/ServletContainersInitConfig.java
new file mode 100644
index 0000000..13c0398
--- /dev/null
+++ b/project/src/main/java/cyou/chenx221/config/ServletContainersInitConfig.java
@@ -0,0 +1,23 @@
+package cyou.chenx221.config;
+import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
+
+public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
+ /*
+ 加载Spring配置类中的信息,
+ 初始化Spring容器
+ */
+ protected Class>[] getRootConfigClasses() {
+ return new Class[]{SpringConfig.class};
+ }
+ /*
+ 加载Spring MVC配置类中的信息,
+ 初始化Spring MVC容器
+ */
+ protected Class>[] getServletConfigClasses() {
+ return new Class[]{SpringMvcConfig.class};
+ }
+ //配置DispatcherServlet的映射路径
+ protected String[] getServletMappings() {
+ return new String[]{"/"};
+ }
+}
diff --git a/project/src/main/java/cyou/chenx221/config/SpringConfig.java b/project/src/main/java/cyou/chenx221/config/SpringConfig.java
new file mode 100644
index 0000000..757911a
--- /dev/null
+++ b/project/src/main/java/cyou/chenx221/config/SpringConfig.java
@@ -0,0 +1,34 @@
+package cyou.chenx221.config;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import javax.sql.DataSource;
+
+@Configuration
+
+@Import({MyBatisConfig.class,JdbcConfig.class})
+
+@ComponentScan( "cyou.chenx221.service")
+
+@EnableTransactionManagement
+public class SpringConfig {
+
+ @Bean("transactionManager")
+ public DataSourceTransactionManager getDataSourceTxManager(@Autowired DataSource dataSource){
+ DataSourceTransactionManager dtm = new DataSourceTransactionManager();
+ dtm.setDataSource(dataSource);
+ return dtm;
+ }
+}
+
+
+
+
+
+
diff --git a/project/src/main/java/cyou/chenx221/config/SpringMvcConfig.java b/project/src/main/java/cyou/chenx221/config/SpringMvcConfig.java
new file mode 100644
index 0000000..1de8ea5
--- /dev/null
+++ b/project/src/main/java/cyou/chenx221/config/SpringMvcConfig.java
@@ -0,0 +1,43 @@
+package cyou.chenx221.config;
+
+
+import cyou.chenx221.interceptor.ResourcesInterceptor;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.*;
+import org.springframework.web.servlet.config.annotation.*;
+import org.springframework.web.servlet.view.InternalResourceViewResolver;
+
+import java.util.List;
+
+@Configuration
+@PropertySource("classpath:ignoreUrl.properties")
+@ComponentScan({"cyou.chenx221.controller"})
+@EnableWebMvc
+public class SpringMvcConfig implements WebMvcConfigurer {
+ @Value("#{'${ignoreUrl}'.split(',')}")
+ private List ignoreUrl;
+ @Bean
+ public ResourcesInterceptor resourcesInterceptor(){
+ return new ResourcesInterceptor(ignoreUrl);
+ }
+
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor( resourcesInterceptor()).addPathPatterns("/**").excludePathPatterns("/css/**","/js/**","/img/**");
+ }
+
+ @Override
+ public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
+ configurer.enable();
+ }
+
+ @Override
+ public void configureViewResolvers(ViewResolverRegistry registry) {
+ registry.jsp("/admin/",".jsp");
+ }
+
+}
+
+
+
+
diff --git a/project/src/main/java/cyou/chenx221/controller/AdminController.java b/project/src/main/java/cyou/chenx221/controller/AdminController.java
index 6c837e0..bd75ff0 100644
--- a/project/src/main/java/cyou/chenx221/controller/AdminController.java
+++ b/project/src/main/java/cyou/chenx221/controller/AdminController.java
@@ -9,13 +9,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
-@RequestMapping("/admin")
public class AdminController {
@Autowired
private AdminService adminService;
- @PostMapping("/login")
+ @RequestMapping("/login")
public String login(@RequestParam("username") String username,
@RequestParam("password") String password) {
diff --git a/project/src/main/java/cyou/chenx221/dao/AdminDao.java b/project/src/main/java/cyou/chenx221/dao/AdminDao.java
deleted file mode 100644
index fddd440..0000000
--- a/project/src/main/java/cyou/chenx221/dao/AdminDao.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package cyou.chenx221.dao;
-
-import cyou.chenx221.modal.Admin;
-
-import java.util.List;
-
-public interface AdminDao {
-
- //将给定的管理员对象添加到数据库中
- void addAdmin(Admin admin);
-
- //更新数据库中与给定管理员对象对应的记录
- void updateAdmin(Admin admin);
-
- //根据管理员ID从数据库中删除对应的记录
- void deleteAdmin(int adminId);
-
- //根据管理员ID从数据库中获取对应的管理员对象
- Admin getAdminById(int adminId);
-
- //根据管理员用户名从数据库中获取对应的管理员对象
- Admin getAdminByUsername(String username);
-
- //获取数据库中所有的管理员对象,并以列表形式返回
- List getAllAdmins();
-}
diff --git a/project/src/main/java/cyou/chenx221/dao/impl/AdminDaoImpl.java b/project/src/main/java/cyou/chenx221/dao/impl/AdminDaoImpl.java
deleted file mode 100644
index d790d22..0000000
--- a/project/src/main/java/cyou/chenx221/dao/impl/AdminDaoImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package cyou.chenx221.dao.impl;
-
-import cyou.chenx221.dao.AdminDao;
-import cyou.chenx221.modal.Admin;
-import org.apache.ibatis.session.SqlSession;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public class AdminDaoImpl implements AdminDao {
- private final SqlSession sqlSession;
-
- public AdminDaoImpl(SqlSession sqlSession) {
- this.sqlSession = sqlSession;
- }
-
- @Override
- public void addAdmin(Admin admin) {
- sqlSession.insert("AdminMapper.addAdmin", admin);
- }
-
- @Override
- public void updateAdmin(Admin admin) {
- sqlSession.update("AdminMapper.updateAdmin", admin);
- }
-
- @Override
- public void deleteAdmin(int adminId) {
- sqlSession.delete("AdminMapper.deleteAdmin", adminId);
- }
-
- @Override
- public Admin getAdminById(int adminId) {
- return sqlSession.selectOne("AdminMapper.getAdminById", adminId);
- }
-
- @Override
- public Admin getAdminByUsername(String username) {
- return sqlSession.selectOne("AdminMapper.getAdminByUsername", username);
- }
-
- @Override
- public List getAllAdmins() {
- return sqlSession.selectList("AdminMapper.getAllAdmins");
- }
-}
diff --git a/project/src/main/java/cyou/chenx221/dao/impl/ScoreDaoImpl.java b/project/src/main/java/cyou/chenx221/dao/impl/ScoreDaoImpl.java
deleted file mode 100644
index c6e857a..0000000
--- a/project/src/main/java/cyou/chenx221/dao/impl/ScoreDaoImpl.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package cyou.chenx221.dao.impl;
-
-import cyou.chenx221.dao.ScoreDao;
-import cyou.chenx221.modal.Score;
-import org.apache.ibatis.session.SqlSession;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public class ScoreDaoImpl implements ScoreDao {
- private final SqlSession sqlSession;
-
- public ScoreDaoImpl(SqlSession sqlSession) {
- this.sqlSession = sqlSession;
- }
-
- @Override
- public void addScore(Score score) {
- sqlSession.insert("ScoreMapper.addScore", score);
- }
-
- @Override
- public void updateScore(Score score) {
- sqlSession.update("ScoreMapper.updateScore", score);
- }
-
- @Override
- public void deleteScore(int scoreId) {
- sqlSession.delete("ScoreMapper.deleteScore", scoreId);
- }
-
- @Override
- public Score getScoreById(int scoreId) {
- return sqlSession.selectOne("ScoreMapper.getScoreById", scoreId);
- }
-
- @Override
- public List getScoresByStudentId(int studentId) {
- return sqlSession.selectList("ScoreMapper.getScoresByStudentId", studentId);
- }
-
- @Override
- public List getScoresByCourse(String course) {
- return sqlSession.selectList("ScoreMapper.getScoresByCourse", course);
- }
-
- @Override
- public List getAllScores() {
- return sqlSession.selectList("ScoreMapper.getAllScores");
- }
-}
diff --git a/project/src/main/java/cyou/chenx221/dao/impl/StudentDaoImpl.java b/project/src/main/java/cyou/chenx221/dao/impl/StudentDaoImpl.java
deleted file mode 100644
index 3e57511..0000000
--- a/project/src/main/java/cyou/chenx221/dao/impl/StudentDaoImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package cyou.chenx221.dao.impl;
-
-import cyou.chenx221.dao.StudentDao;
-import cyou.chenx221.modal.Student;
-import org.apache.ibatis.session.SqlSession;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public class StudentDaoImpl implements StudentDao {
- private final SqlSession sqlSession;
-
- public StudentDaoImpl(SqlSession sqlSession) {
- this.sqlSession = sqlSession;
- }
-
- @Override
- public void addStudent(Student student) {
- sqlSession.insert("StudentMapper.addStudent", student);
- }
-
- @Override
- public void updateStudent(Student student) {
- sqlSession.update("StudentMapper.updateStudent", student);
- }
-
- @Override
- public void deleteStudent(int studentId) {
- sqlSession.delete("StudentMapper.deleteStudent", studentId);
- }
-
- @Override
- public Student getStudentById(int studentId) {
- return sqlSession.selectOne("StudentMapper.getStudentById", studentId);
- }
-
- @Override
- public List getAllStudents() {
- return sqlSession.selectList("StudentMapper.getAllStudents");
- }
-}
diff --git a/project/src/main/java/cyou/chenx221/interceptor/ResourcesInterceptor.java b/project/src/main/java/cyou/chenx221/interceptor/ResourcesInterceptor.java
new file mode 100644
index 0000000..1b8587f
--- /dev/null
+++ b/project/src/main/java/cyou/chenx221/interceptor/ResourcesInterceptor.java
@@ -0,0 +1,49 @@
+package cyou.chenx221.interceptor;
+
+import cyou.chenx221.modal.Admin;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 资源拦截器
+ */
+public class ResourcesInterceptor extends HandlerInterceptorAdapter {
+ //任意角色都能访问的路径
+ private List ignoreUrl;
+ public ResourcesInterceptor(List ignoreUrl) {
+ this.ignoreUrl = ignoreUrl;
+ }
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws
+ Exception {
+ Admin admin = (Admin) request.getSession().getAttribute("USER_SESSION");
+ //获取请求的路径
+ String uri = request.getRequestURI();
+ //如果用户是已登录状态,判断访问的资源是否有权限
+// if (admin != null) {
+// //如果是管理员,放行
+// if ("ADMIN".equals(admin.getRole())) {
+// return true;
+// }
+// //如果是普通用户
+// else if (!"ADMIN".equals(user.getRole())) {
+// for (String url : ignoreUrl) {
+// //访问的资源不是管理员权限的资源,放行
+// if (uri.indexOf(url) >= 0) {
+// return true;
+// }
+// }
+// }
+// }
+ //对用户登录的相关请求,放行
+ if (uri.indexOf("login") >= 0) {
+ return true;
+ }
+ //其他情况都直接跳转到登录页面
+ request.setAttribute("msg", "您还没有登录,请先登录!");
+ request.getRequestDispatcher("/admin/login.jsp").forward(request, response);
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/project/src/main/java/cyou/chenx221/mapper/AdminMapper.java b/project/src/main/java/cyou/chenx221/mapper/AdminMapper.java
new file mode 100644
index 0000000..8089c64
--- /dev/null
+++ b/project/src/main/java/cyou/chenx221/mapper/AdminMapper.java
@@ -0,0 +1,17 @@
+package cyou.chenx221.mapper;
+
+import cyou.chenx221.modal.Admin;
+import org.apache.ibatis.annotations.Result;
+import org.apache.ibatis.annotations.Results;
+import org.apache.ibatis.annotations.Select;
+
+public interface AdminMapper {
+ @Select("select * from user where username=#{username} AND password=#{password}")
+ @Results(id = "userMap",value = {
+ @Result(id = true,column = "user_id",property = "id"),
+ @Result(column = "username",property = "name"),
+ @Result(column = "password",property = "password"),
+ @Result(column = "name",property = "name"),
+ })
+ Admin login(Admin admin);
+}
diff --git a/project/src/main/java/cyou/chenx221/dao/ScoreDao.java b/project/src/main/java/cyou/chenx221/mapper/ScoreDao.java
similarity index 100%
rename from project/src/main/java/cyou/chenx221/dao/ScoreDao.java
rename to project/src/main/java/cyou/chenx221/mapper/ScoreDao.java
diff --git a/project/src/main/java/cyou/chenx221/dao/StudentDao.java b/project/src/main/java/cyou/chenx221/mapper/StudentDao.java
similarity index 100%
rename from project/src/main/java/cyou/chenx221/dao/StudentDao.java
rename to project/src/main/java/cyou/chenx221/mapper/StudentDao.java
diff --git a/project/src/main/java/cyou/chenx221/modal/Admin.java b/project/src/main/java/cyou/chenx221/modal/Admin.java
index 8c95822..4ac0426 100644
--- a/project/src/main/java/cyou/chenx221/modal/Admin.java
+++ b/project/src/main/java/cyou/chenx221/modal/Admin.java
@@ -1,6 +1,8 @@
package cyou.chenx221.modal;
-public class Admin {
+import java.io.Serializable;
+
+public class Admin implements Serializable {
// 管理员id 管理员姓名 管理员用户名 管理员密码
private int id;
private String name;
diff --git a/project/src/main/java/cyou/chenx221/modal/Score.java b/project/src/main/java/cyou/chenx221/modal/Score.java
index 84018b9..cc6a970 100644
--- a/project/src/main/java/cyou/chenx221/modal/Score.java
+++ b/project/src/main/java/cyou/chenx221/modal/Score.java
@@ -1,6 +1,8 @@
package cyou.chenx221.modal;
-public class Score {
+import java.io.Serializable;
+
+public class Score implements Serializable {
// 成绩id 学生id 课程 成绩
private int id;
private int studentId;
diff --git a/project/src/main/java/cyou/chenx221/modal/Student.java b/project/src/main/java/cyou/chenx221/modal/Student.java
index f60a897..fe8e3fc 100644
--- a/project/src/main/java/cyou/chenx221/modal/Student.java
+++ b/project/src/main/java/cyou/chenx221/modal/Student.java
@@ -1,6 +1,8 @@
package cyou.chenx221.modal;
-public class Student {
+import java.io.Serializable;
+
+public class Student implements Serializable {
// 学号 姓名 年龄 性别
private String id;
private String name;
diff --git a/project/src/main/java/cyou/chenx221/service/AdminService.java b/project/src/main/java/cyou/chenx221/service/AdminService.java
index 4ddb991..8272677 100644
--- a/project/src/main/java/cyou/chenx221/service/AdminService.java
+++ b/project/src/main/java/cyou/chenx221/service/AdminService.java
@@ -2,20 +2,6 @@ package cyou.chenx221.service;
import cyou.chenx221.modal.Admin;
-import java.util.List;
-
public interface AdminService {
- void addAdmin(Admin admin);
-
- void updateAdmin(Admin admin);
-
- void deleteAdmin(int adminId);
-
- Admin getAdminById(int adminId);
-
- Admin getAdminByUsername(String username);
-
- List getAllAdmins();
-
- boolean validateCredentials(String username, String password);
+ Admin login(Admin admin);
}
diff --git a/project/src/main/java/cyou/chenx221/service/impl/AdminServiceImpl.java b/project/src/main/java/cyou/chenx221/service/impl/AdminServiceImpl.java
index c27ca38..bbb8e56 100644
--- a/project/src/main/java/cyou/chenx221/service/impl/AdminServiceImpl.java
+++ b/project/src/main/java/cyou/chenx221/service/impl/AdminServiceImpl.java
@@ -1,57 +1,6 @@
package cyou.chenx221.service.impl;
-import cyou.chenx221.dao.AdminDao;
-import cyou.chenx221.modal.Admin;
-import cyou.chenx221.service.AdminService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
@Service
public class AdminServiceImpl implements AdminService {
- private final AdminDao adminDao;
-
- @Autowired
- public AdminServiceImpl(AdminDao adminDao) {
- this.adminDao = adminDao;
- }
-
-
- @Override
- public void addAdmin(Admin admin) {
- adminDao.addAdmin(admin);
- }
-
- @Override
- public void updateAdmin(Admin admin) {
- adminDao.updateAdmin(admin);
- }
-
- @Override
- public void deleteAdmin(int adminId) {
- adminDao.deleteAdmin(adminId);
- }
-
- @Override
- public Admin getAdminById(int adminId) {
- return adminDao.getAdminById(adminId);
- }
-
- @Override
- public Admin getAdminByUsername(String username) {
- return adminDao.getAdminByUsername(username);
- }
-
- @Override
- public List getAllAdmins() {
- return adminDao.getAllAdmins();
- }
-
- @Override
- public boolean validateCredentials(String username, String password) {
- Admin admin = adminDao.getAdminByUsername(username);
- return admin != null && admin.getPassword().equals(password);
- }
}
diff --git a/project/src/main/java/cyou/chenx221/servlet/AdminServlet.java b/project/src/main/java/cyou/chenx221/servlet/AdminServlet.java
index a5f16dd..a40000e 100644
--- a/project/src/main/java/cyou/chenx221/servlet/AdminServlet.java
+++ b/project/src/main/java/cyou/chenx221/servlet/AdminServlet.java
@@ -23,21 +23,21 @@ public class AdminServlet extends HttpServlet {
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
-
- // 调用 AdminService 的验证凭证方法进行验证
- boolean isValidCredentials = adminService.validateCredentials(username, password);
-
- if (isValidCredentials) {
- // 登录成功,设置会话状态
- request.getSession().setAttribute("isLoggedIn", true);
- response.sendRedirect("dashboard.jsp"); // 重定向到仪表盘页面
- } else {
- // 登录失败,返回错误消息
- response.setContentType("text/html");
- PrintWriter out = response.getWriter();
- out.println("");
- out.println("登录失败,用户名或密码不正确。
");
- out.println("");
- }
+ System.out.println(username+password);
+// // 调用 AdminService 的验证凭证方法进行验证
+// boolean isValidCredentials = adminService.validateCredentials(username, password);
+//
+// if (isValidCredentials) {
+// // 登录成功,设置会话状态
+// request.getSession().setAttribute("isLoggedIn", true);
+// response.sendRedirect("dashboard.jsp"); // 重定向到仪表盘页面
+// } else {
+// // 登录失败,返回错误消息
+// response.setContentType("text/html");
+// PrintWriter out = response.getWriter();
+// out.println("");
+// out.println("登录失败,用户名或密码不正确。
");
+// out.println("");
+// }
}
}
diff --git a/project/src/main/resources/applicationContext.xml b/project/src/main/resources/applicationContext.xml
deleted file mode 100644
index b967a0f..0000000
--- a/project/src/main/resources/applicationContext.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
- classpath:db.properties
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/project/src/main/resources/ignoreUrl.properties b/project/src/main/resources/ignoreUrl.properties
new file mode 100644
index 0000000..6b7772d
--- /dev/null
+++ b/project/src/main/resources/ignoreUrl.properties
@@ -0,0 +1 @@
+ignoreUrl=/logout,/selectNewbooks,/findById,/borrowBook,/search,/searchBorrowed,/returnBook,/searchRecords
\ No newline at end of file
diff --git a/project/src/main/resources/mapper/BookMapper.xml b/project/src/main/resources/mapper/BookMapper.xml
new file mode 100644
index 0000000..d4e9a35
--- /dev/null
+++ b/project/src/main/resources/mapper/BookMapper.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+ insert into book(book_id,book_name,book_isbn,book_press,book_author,book_pagination,book_price,book_uploadtime,book_status,book_borrower,book_borrowtime,book_returntime)
+ values (#{id},#{name},#{isbn},#{press},#{author},#{pagination},#{price},#{uploadTime},#{status},#{borrower},#{borrowTime},#{returnTime})
+
+
+
+ update book
+
+
+ book_name = #{name},
+
+
+ book_isbn = #{isbn},
+
+
+ book_press = #{press},
+
+
+ book_author = #{author},
+
+
+ book_pagination = #{pagination},
+
+
+ book_price = #{price},
+
+
+ book_uploadtime = #{uploadTime},
+
+
+ book_status = #{status},
+
+
+ book_borrower= #{borrower },
+
+
+ book_borrowtime = #{borrowTime},
+
+
+ book_returntime = #{returnTime}
+
+
+ where book_id = #{id}
+
+
diff --git a/project/src/main/resources/mapper/RecordMapper.xml b/project/src/main/resources/mapper/RecordMapper.xml
new file mode 100644
index 0000000..165daae
--- /dev/null
+++ b/project/src/main/resources/mapper/RecordMapper.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ insert into record(record_id,record_bookname,record_bookisbn,record_borrower,record_borrowtime,record_remandtime)
+ values (#{id},#{bookname},#{bookisbn},#{borrower},#{borrowTime},#{remandTime})
+
+
diff --git a/project/web/WEB-INF/applicationContext.xml b/project/web/WEB-INF/applicationContext.xml
deleted file mode 100644
index b967a0f..0000000
--- a/project/web/WEB-INF/applicationContext.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
- classpath:db.properties
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/project/web/WEB-INF/web.xml b/project/web/WEB-INF/web.xml
index bfc4d95..03e4493 100644
--- a/project/web/WEB-INF/web.xml
+++ b/project/web/WEB-INF/web.xml
@@ -3,20 +3,4 @@
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
-
- dispatcher
- org.springframework.web.servlet.DispatcherServlet
-
- contextConfigLocation
- /WEB-INF/applicationContext.xml
-
- 1
-
-
-
- dispatcher
- /
-
-
-
diff --git a/project/web/index.jsp b/project/web/index.jsp
index f1a5427..4511d28 100644
--- a/project/web/index.jsp
+++ b/project/web/index.jsp
@@ -6,11 +6,4 @@
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-
-
- $Title$
-
-
- $END$
-
-
+
diff --git a/project/web/login.jsp b/project/web/login.jsp
new file mode 100644
index 0000000..4a71306
--- /dev/null
+++ b/project/web/login.jsp
@@ -0,0 +1,122 @@
+<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+
+
+
+
+
+
+ 登录
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/project/web/login.html b/project/web/login2.html
similarity index 100%
rename from project/web/login.html
rename to project/web/login2.html