基于javaweb+mysql的jsp+servlet宿舍管理系统(超级管理员、宿舍管理员、学生)(java+jsp+servlet+javabean+mysql+tomcat)

基于javaweb+mysql的jsp+servlet宿舍管理系统(超级管理员、宿舍管理员、学生)(java+jsp+servlet+javabean+mysql+tomcat)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

超级管理员:登录退出、宿舍管理员管理、学生管理、宿舍楼管理、缺勤管理、修改密码

宿舍管理员:登录退出、学生管理、缺勤管理

学生:登录退出、缺勤查看

超级管理员

宿舍管理员

学生

技术框架

JSP Servlet MySQL JDBC Tomcat CSS JavaScript

基于javaweb+mysql的JSP+Servlet宿舍管理系统(超级管理员、宿舍管理员、学生)(java+jsp+servlet+javabean+mysql+tomcat)


/**
 * Servlet implementation class LoginServlet
 */
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
   
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoginServlet() {
   
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
     */
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
        System.out.println("========登录=============");
        //Tomcat8.0 处理post请求乱码问题
        request.setCharacterEncoding("utf-8");
        //根据输入框标签的name属性值去获登录名和密码
        String stuCode = request.getParameter("stuCode");
        String password = request.getParameter("password");
        String remember = request.getParameter("remember");
        System.out.println("stuCode:" + stuCode + "  password:" + password + "   remember:" + remember);

        UserService userService = new UserServiceImpl();
					List<DormBuild>  buildSelects = dormBuildService.find();
					request.setAttribute("buildSelects", buildSelects);
					request.setAttribute("builds", builds);
					request.setAttribute("mainRight", "/WEB-INF/jsp/dormBuildList.jsp");
					request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);
					
				}
			}else {
   
				//保存
				if(dormBuild != null) {
   
					//当前用户输入的宿舍楼名已存在
					//表示跳转到宿舍楼添加页面
					request.setAttribute("error", "当前宿舍楼名已存在,请重新输入!");
					request.setAttribute("mainRight", "/WEB-INF/jsp/dormBuildAddOrUpdate.jsp");
					request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);
				}else {
   
					//当前用户输入的宿舍楼名不存在,则保存用户输入的信息到数据库
					DormBuild build = new DormBuild();
					build.setName(name);
					build.setRemark(remark);
					build.setDisabled(0);
					dormBuildService.save(build);
					//保存完成,跑到宿舍楼管理列表页,查询所有宿舍楼
					List<DormBuild>  builds  = dormBuildService.find();
					//查询所有的宿舍楼,在select中遍历
					List<DormBuild>  buildSelects = dormBuildService.find();
					request.setAttribute("buildSelects", buildSelects);
					request.setAttribute("builds", builds);
					request.setAttribute("mainRight", "/WEB-INF/jsp/dormBuildList.jsp");
					request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);
				}
			}
			
		}else if(action != null & action.equals("preUpdate")) {
   
			//根据宿舍楼id,查询宿舍楼
			DormBuild build = dormBuildService.findById(Integer.parseInt(id));
			//保存宿舍楼信息,到前端页面展示
			request.setAttribute("build", build);
			//跳转到宿舍楼修改页面
			request.setAttribute("mainRight", "/WEB-INF/jsp/dormBuildAddOrUpdate.jsp");
			request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);
		}else if(action != null & action.equals("deleteOrAcive")) {
   
			//删除或激活
			String disabled = request.getParameter("disabled");
			
			DormBuild  dormBuild = dormBuildService.findById(Integer.parseInt(id));
			System.out.println("更新前dormBuild:"+dormBuild);
			dormBuild.setDisabled(Integer.parseInt(disabled));
			System.out.println("更新后dormBuild:"+dormBuild);
			
					//记住在浏览器的学号和密码有效,放行,自动登录成功将用户信息保存在session中
					
					//通过user 判断登录的用户角色是否有对该请求的访问权限
					//通过request中的httpServletRequest.getRequestURI(); 来获取用
					roleJudgment(user2,httpServletRequest,response,chain);
					
					/*httpServletRequest.getSession().setAttribute("session_user", user2);
					chain.doFilter(request, response);*/
					
				}else {
   
					//记住在浏览器的学号和密码无效
					request.setAttribute("error", "请先登录!");
					//如未登录,就跳转到登录页面
					request.getRequestDispatcher("/index.jsp").forward(httpServletRequest, response);
				}
			}else {
   
				request.setAttribute("error", "请先登录!");
				//如未登录,就跳转到登录页面
				request.getRequestDispatcher("/index.jsp").forward(httpServletRequest, response);
			}
		}
	}

	private void roleJudgment(User user, HttpServletRequest httpServletRequest, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
   
		//获取用户角色id
		Integer  roleId = user.getRoleId();
		//获取请求地址  /DormTest/dormBuild.action

		String  requestUrI = httpServletRequest.getRequestURI();
		System.out.println("requestUrI:"+requestUrI);
		
		//动态获取项目名/DormTest
		String path = httpServletRequest.getContextPath();
		System.out.println("path:"+path);
		if( (requestUrI.startsWith(path+"/dormBuild.action") || requestUrI.startsWith(path+"/dormManager.action"))
				&& roleId.equals(0)) {
   
			//当用户发送的是宿舍楼管理模块或者宿舍管理员管理模块的请求时,只有在当前用户角色为超级管理员时才放行
			httpServletRequest.getSession().setAttribute("session_user", user);
			chain.doFilter(httpServletRequest, response);
			
		}else if(requestUrI.startsWith(path+"/student.action") && !roleId.equals(2)) {
   
			//当用户发送的请求是学生模块的请求时,只有当前用户角色不是学生就放行
			httpServletRequest.getSession().setAttribute("session_user", user);

	/**
	 * @see Filter#destroy()
	 */
	public void destroy() {
   
		// TODO Auto-generated method stub
	}

	/**
	 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
   
		System.out.printl
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用JavaWeb中的servletJSP添加量表得分的步骤: 1. 创建一个名为Score的JavaBean类,用于存储量表得分的信息,包括学生ID、量表ID、得分等属性。 ```java public class Score { private int studentId; private int scaleId; private int score; public int getStudentId() { return studentId; } public void setStudentId(int studentId) { this.studentId = studentId; } public int getScaleId() { return scaleId; } public void setScaleId(int scaleId) { this.scaleId = scaleId; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } } ``` 2. 创建一个名为ScoreDao的Java类,用于实现对Score类的增删改查操作,包括添加量表得分的方法addScore。 ```java public class ScoreDao { // 数据库连接信息 private String url = "jdbc:mysql://localhost:3306/test"; private String username = "root"; private String password = "123456"; // 添加量表得分 public boolean addScore(Score score) { Connection conn = null; PreparedStatement pstmt = null; boolean flag = false; try { // 加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); // 获取数据库连接 conn = DriverManager.getConnection(url, username, password); // 添加量表得分的SQL语句 String sql = "insert into score(student_id, scale_id, score) values(?, ?, ?)"; // 创建PreparedStatement对象 pstmt = conn.prepareStatement(sql); // 设置SQL语句中的参数 pstmt.setInt(1, score.getStudentId()); pstmt.setInt(2, score.getScaleId()); pstmt.setInt(3, score.getScore()); // 执行SQL语句 int result = pstmt.executeUpdate(); if (result > 0) { flag = true; } } catch (Exception e) { e.printStackTrace(); } finally { // 关闭数据库连接 try { if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } return flag; } } ``` 3. 创建一个名为AddScoreServletJava类,用于处理添加量表得分的请求。 ```java public class AddScoreServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取表单数据 int studentId = Integer.parseInt(request.getParameter("studentId")); int scaleId = Integer.parseInt(request.getParameter("scaleId")); int score = Integer.parseInt(request.getParameter("score")); // 创建Score对象 Score scoreObj = new Score(); scoreObj.setStudentId(studentId); scoreObj.setScaleId(scaleId); scoreObj.setScore(score); // 创建ScoreDao对象 ScoreDao scoreDao = new ScoreDao(); // 调用addScore方法添加量表得分 boolean result = scoreDao.addScore(scoreObj); if (result) { // 添加成功,跳转到成功页面 response.sendRedirect("success.jsp"); } else { // 添加失败,跳转到失败页面 response.sendRedirect("fail.jsp"); } } } ``` 4. 创建一个名为addScore.jspJSP页面,用于显示添加量表得分的表单。 ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>添加量表得分</title> </head> <body> <h1>添加量表得分</h1> <form action="AddScoreServlet" method="post"> <p>学生ID:<input type="text" name="studentId"></p> <p>量表ID:<input type="text" name="scaleId"></p> <p>得分:<input type="text" name="score"></p> <p><input type="submit" value="添加"></p> </form> </body> </html> ``` 5. 在web.xml文件中配置AddScoreServlet。 ```xml <servlet> <servlet-name>AddScoreServlet</servlet-name> <servlet-class>com.example.AddScoreServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AddScoreServlet</servlet-name> <url-pattern>/AddScoreServlet</url-pattern> </servlet-mapping> ``` 6. 运行项目,在浏览器中访问addScore.jsp页面,填写表单并提交,即可添加量表得分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值