• Java项目:JSP高校新生报到迎新管理系统


    作者主页:源码空间站2022

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

    项目介绍

    辅导员角色包含以下功能:
    辅导员登录,学生留言管理,新生报到管理,宿舍分配管理等功能。

    财务管理角色包含以下功能:
    财务管理员登录,管理学生缴费,个人密码管理等功能。

    管理员角色包含以下功能:
    管理员登录,管理人员管理,校园新闻管理,校园风光管理,宿舍楼管理,班级信息管理,留言管理,专业信息查询,新生报到管理,宿舍分配管理,大学公告管理,入校须知管理,系统公告管理,学校简介管理,友情链接管理,新生报到模板管理等功能。

    学生角色包含以下功能:
    学生首页,校园新闻管理,报道流程管理,学校简介查看,在线留言,校园风光查看,入校须知查看,大学公告查看,学生信息后台,缴费记录查看,宿舍分配查看等功能。

    环境需要

    1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
    2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

    5.数据库:MySql 5.7版本;

    技术栈

    HTML+CSS+JavaScript+jsp+mysql

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
    3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

    4. 运行项目,输入localhost:8080/login.jsp 登录

    运行截图

    相关代码 

    Upload

    1. package control;
    2. import java.io.BufferedInputStream;
    3. import java.io.BufferedOutputStream;
    4. import java.io.FileInputStream;
    5. import java.io.IOException;
    6. import java.io.InputStream;
    7. import java.io.OutputStream;
    8. import java.io.PrintWriter;
    9. import java.io.UnsupportedEncodingException;
    10. import java.net.URLEncoder;
    11. import javax.servlet.ServletException;
    12. import javax.servlet.http.HttpServlet;
    13. import javax.servlet.http.HttpServletRequest;
    14. import javax.servlet.http.HttpServletResponse;
    15. import util.Info;
    16. public class Upload extends HttpServlet {
    17. /**
    18. * Constructor of the object.
    19. */
    20. public Upload() {
    21. super();
    22. }
    23. /**
    24. * Destruction of the servlet.
    25. */
    26. public void destroy() {
    27. super.destroy(); // Just puts "destroy" string in log
    28. // Put your code here
    29. }
    30. /**
    31. * The doGet method of the servlet.
    32. *
    33. * This method is called when a form has its tag value method equals to get.
    34. *
    35. * @param request the request send by the client to the server
    36. * @param response the response send by the server to the client
    37. * @throws ServletException if an error occurred
    38. * @throws IOException if an error occurred
    39. */
    40. public void doGet(HttpServletRequest request, HttpServletResponse response)
    41. throws ServletException, IOException {
    42. this.doPost(request, response);
    43. }
    44. /**
    45. * The doPost method of the servlet.
    46. *
    47. * This method is called when a form has its tag value method equals to post.
    48. *
    49. * @param request the request send by the client to the server
    50. * @param response the response send by the server to the client
    51. * @throws ServletException if an error occurred
    52. * @throws IOException if an error occurred
    53. */
    54. public void doPost(HttpServletRequest request, HttpServletResponse response)
    55. throws ServletException, IOException {
    56. StringBuffer sb = new StringBuffer(50);
    57. response.setContentType("application/x-msdownload;charset=utf-8");
    58. try {
    59. response.setHeader("Content-Disposition", new String(sb.toString()
    60. .getBytes(), "ISO8859-1"));
    61. } catch (UnsupportedEncodingException e1) {
    62. // TODO Auto-generated catch block
    63. e1.printStackTrace();
    64. }
    65. String filename = request.getParameter("filename");
    66. if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0){
    67. try {
    68. filename = new String(filename.getBytes("UTF-8"), "ISO8859-1");
    69. } catch (UnsupportedEncodingException e) {
    70. // TODO Auto-generated catch block
    71. e.printStackTrace();
    72. }
    73. }
    74. else
    75. if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){
    76. try {
    77. filename = URLEncoder.encode(filename, "UTF-8");
    78. } catch (UnsupportedEncodingException e) {
    79. // TODO Auto-generated catch block
    80. e.printStackTrace();
    81. }
    82. }
    83. response.setContentType("text/plain");
    84. response.setHeader("Location",filename);
    85. response.reset();
    86. response.setHeader("Cache-Control", "max-age=0" );
    87. response.setHeader("Content-Disposition", "attachment; filename=" + filename);
    88. try {
    89. BufferedInputStream bis = null;
    90. BufferedOutputStream bos = null;
    91. OutputStream fos = null;
    92. // File f = new File(request.getRealPath("/upfile/")+"/"+filename);
    93. //System.out.println(f);
    94. bis = new BufferedInputStream((InputStream)new FileInputStream(request.getRealPath("/upfile/")+"/"+filename));
    95. fos = response.getOutputStream();
    96. bos = new BufferedOutputStream(fos);
    97. int bytesRead = 0;
    98. byte[] buffer = new byte[5 * 1024];
    99. while ((bytesRead = bis.read(buffer)) != -1) {
    100. bos.write(buffer, 0, bytesRead);
    101. }
    102. bos.close();
    103. bis.close();
    104. fos.close();
    105. } catch (Exception e) {
    106. e.printStackTrace();
    107. }finally{
    108. }
    109. }
    110. /**
    111. * Initialization of the servlet.
    112. *
    113. * @throws ServletException if an error occurs
    114. */
    115. public void init() throws ServletException {
    116. // Put your code here
    117. }
    118. }

    CommDAO

    1. package dao;
    2. import java.sql.Connection;
    3. import java.sql.ResultSet;
    4. import java.sql.ResultSetMetaData;
    5. import java.sql.SQLException;
    6. import java.sql.Statement;
    7. import java.text.ParseException;
    8. import java.text.SimpleDateFormat;
    9. import java.util.ArrayList;
    10. import java.util.Date;
    11. import java.util.HashMap;
    12. import java.util.List;
    13. import util.SimpleDataSource;
    14. public class CommDAO {
    15. public Connection getConn() {
    16. Connection conn = null;
    17. try {
    18. conn = SimpleDataSource.instance().getConnection();
    19. } catch (Exception e) {
    20. e.printStackTrace();
    21. }
    22. return conn;
    23. }
    24. public int getInt(String sql) {
    25. int i = 0;
    26. Connection conn = getConn();
    27. Statement st = null;
    28. try {
    29. st = conn.createStatement();
    30. ResultSet rs = st.executeQuery(sql);
    31. if (rs.next()) {
    32. i = rs.getInt(1);
    33. }
    34. } catch (SQLException e) {
    35. e.printStackTrace();
    36. } finally {
    37. try {
    38. SimpleDataSource.freeConnection(conn);
    39. if (null != st) {
    40. st.close();
    41. }
    42. } catch (Exception e) {
    43. }
    44. }
    45. return i;
    46. }
    47. public double getDouble(String sql) {
    48. double i = 0;
    49. Connection conn = getConn();
    50. Statement st = null;
    51. try {
    52. st = conn.createStatement();
    53. ResultSet rs = st.executeQuery(sql);
    54. if (rs.next()) {
    55. i = rs.getDouble(1);
    56. }
    57. } catch (SQLException e) {
    58. e.printStackTrace();
    59. } finally {
    60. try {
    61. if (null != conn) {
    62. conn.close();
    63. }
    64. if (null != st) {
    65. st.close();
    66. }
    67. } catch (Exception e) {
    68. }
    69. }
    70. return i;
    71. }
    72. public void commOper(String sql) {
    73. Connection conn = getConn();
    74. Statement st = null;
    75. try {
    76. st = conn.createStatement();
    77. st.execute(sql);
    78. } catch (SQLException e) {
    79. // TODO Auto-generated catch block
    80. e.printStackTrace();
    81. } finally {
    82. try {
    83. SimpleDataSource.freeConnection(conn);
    84. if (null != st) {
    85. st.close();
    86. }
    87. } catch (Exception e) {
    88. }
    89. }
    90. }
    91. public void commOperSqls(ArrayList sql) {
    92. Connection conn = getConn();
    93. Statement st = null;
    94. try {
    95. conn.setAutoCommit(false);
    96. for (int i = 0; i < sql.size(); i++) {
    97. st = conn.createStatement();
    98. st.execute(sql.get(i));
    99. st.close();
    100. }
    101. conn.commit();
    102. } catch (SQLException e) {
    103. try {
    104. conn.rollback();
    105. } catch (SQLException e1) {
    106. e1.printStackTrace();
    107. }
    108. e.printStackTrace();
    109. } finally {
    110. try {
    111. conn.setAutoCommit(true);
    112. SimpleDataSource.freeConnection(conn);
    113. if (null != st) {
    114. st.close();
    115. }
    116. } catch (SQLException e) {
    117. e.printStackTrace();
    118. }
    119. }
    120. }
    121. public List select(String sql) {
    122. int END = Integer.MAX_VALUE;
    123. int START = END - 100;
    124. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    125. List list = new ArrayList();
    126. Connection conn = getConn();
    127. Statement st = null;
    128. try {
    129. st = conn.createStatement();
    130. ResultSet rs = st.executeQuery(sql);
    131. ResultSetMetaData rsmd = rs.getMetaData();
    132. while (rs.next()) {
    133. HashMap map = new HashMap();
    134. int i = rsmd.getColumnCount();
    135. for (int j = 1; j <= i; j++) {
    136. if (!rsmd.getColumnName(j).equals("ID")) {
    137. map.put(rsmd.getColumnName(j),
    138. rs.getString(j) == null ? "" : rs.getString(j));
    139. } else {
    140. map.put("id", rs.getString(j));
    141. }
    142. }
    143. list.add(map);
    144. }
    145. rs.close();
    146. } catch (SQLException e) {
    147. // TODO Auto-generated catch block
    148. System.out.println("--" + sql);
    149. e.printStackTrace();
    150. } finally {
    151. try {
    152. conn.setAutoCommit(true);
    153. SimpleDataSource.freeConnection(conn);
    154. if (null != st) {
    155. st.close();
    156. }
    157. } catch (SQLException e) {
    158. e.printStackTrace();
    159. }
    160. }
    161. return list;
    162. }
    163. /**
    164. * 执行一条查询sql,以 List 的形式返回查询的记录,记录条数,和从第几条开始,由参数决定,主要用于翻页 pageno 页码
    165. * rowsize 每页的条数
    166. */
    167. public List select(String sql, int pageno, int rowsize) {
    168. List list = new ArrayList();
    169. List mlist = new ArrayList();
    170. try {
    171. list = this.select(sql);
    172. int min = (pageno - 1) * rowsize;
    173. int max = pageno * rowsize;
    174. for (int i = 0; i < list.size(); i++) {
    175. if (!(i < min || i > (max - 1))) {
    176. mlist.add(list.get(i));
    177. }
    178. }
    179. } catch (RuntimeException re) {
    180. re.printStackTrace();
    181. throw re;
    182. }
    183. return mlist;
    184. }
    185. // 该方法返回一个table 用于流动图片
    186. public String DynamicImage(String categoryid, int cut, int width, int height) {
    187. StringBuffer imgStr = new StringBuffer();
    188. StringBuffer thePics1 = new StringBuffer();
    189. StringBuffer theLinks1 = new StringBuffer();
    190. StringBuffer theTexts1 = new StringBuffer();
    191. imgStr.append("
      \n"
      );
    192. return imgStr.toString();
    193. }
    194. public static void main(String[] args) {
    195. System.out.println(new CommDAO());
    196. }
    197. }

    LoginFilter

    1. package util;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import javax.servlet.Filter;
    5. import javax.servlet.FilterChain;
    6. import javax.servlet.FilterConfig;
    7. import javax.servlet.ServletException;
    8. import javax.servlet.ServletRequest;
    9. import javax.servlet.ServletResponse;
    10. import javax.servlet.http.HttpServletRequest;
    11. import javax.servlet.http.HttpServletResponse;
    12. import javax.servlet.http.HttpSession;
    13. public class LoginFilter implements Filter {
    14. public void destroy() {
    15. // TODO Auto-generated method stub
    16. }
    17. public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
    18. // TODO Auto-generated method stub
    19. HttpServletRequest request = (HttpServletRequest) req;
    20. HttpServletResponse response = (HttpServletResponse) res;
    21. HttpSession session = request.getSession();
    22. // 如果session不为空,则可以浏览其他页面
    23. String url = request.getServletPath();
    24. //System.out.println(url);
    25. String path = request.getRequestURI();
    26. //这里判断目录,后缀名,当然也可以写在web.xml中,用url-pattern进行拦截映射
    27. if ((!request.getServletPath().equals("/admin/login.action"))
    28. && (!request.getServletPath().equals("/admin/login.jsp"))
    29. && (!request.getServletPath().equals("/admin/relogin.jsp"))
    30. && (!request.getServletPath().equals("/admin/lib/font-awesome/css/font-awesome.css"))
    31. && (!request.getServletPath().equals("/admin/lib/bootstrap/js/bootstrap.js"))
    32. && (!request.getServletPath().equals("/admin/lib/jquery-1.7.2.min.js"))
    33. && (!request.getServletPath().equals("/admin/stylesheets/theme.css"))
    34. && (!request.getServletPath().equals("/admin/lib/bootstrap/css/bootstrap.css"))
    35. ) {
    36. // 登陆页面无需过滤
    37. if(path.indexOf("/admin/login.jsp") > -1) {
    38. chain.doFilter(request, response);
    39. return;
    40. }
    41. if (session.getAttribute("admin") == null) {
    42. session.invalidate();
    43. response.setContentType("text/html;charset=gb2312");
    44. PrintWriter out = response.getWriter();
    45. out.println("");
    46. } else {
    47. chain.doFilter(request, response);
    48. }
    49. } else {
    50. chain.doFilter(request, response);
    51. }
    52. }
    53. public void init(FilterConfig arg0) throws ServletException {
    54. // TODO Auto-generated method stub
    55. }
    56. }

    如果也想学习本系统,下面领取。关注并回复:076jsp

     

  • 相关阅读:
    机器学习/人工智能的笔试面试题目——SVM算法相关问题总结
    有含金量的AI证书
    基于springboot实现校园疫情防控系统项目【项目源码+论文说明】计算机毕业设计
    跨境电商迎来全球5日达革命?菜鸟全球化再提速!
    计算机网络性能指标:速率,带宽,吞吐量
    如何利用数字创新使您的企业脱颖而出
    服务器使用ssl证书有哪些好处
    C#A类调用B类的方法,在方法中更新B类的控件
    探索数据结构:从基础到高级
    prometheus 监控实战篇
  • 原文地址:https://blog.csdn.net/m0_74967853/article/details/128031765