• Java项目:基于jsp+sevlet+mysql日记系统


    作者主页:源码空间站2022

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

    文末获取源码

    项目介绍

    本项目主要功能有: 
    写日记 查看日记 日记删除 日记修改 日记类别添加 日记类别修改 日记类别删除 个人信息查看 个人信息修改 分页功能

    用户名:xyj 密码:123456

    环境需要

    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版本;

    6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

    技术栈

    1. 后端:servlet

    2. 前端:JSP+bootstrap+jQuery

    使用说明

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

    4. 运行项目,在浏览器中输入http://localhost:8080/ 登录

    运行截图

    相关代码 

    NewsTypeServlet

    1. package com.java1234.web;
    2. import java.io.IOException;
    3. import java.sql.Connection;
    4. import java.util.List;
    5. import javax.servlet.ServletException;
    6. import javax.servlet.http.HttpServlet;
    7. import javax.servlet.http.HttpServletRequest;
    8. import javax.servlet.http.HttpServletResponse;
    9. import net.sf.json.JSONObject;
    10. import com.java1234.dao.NewsDao;
    11. import com.java1234.dao.NewsTypeDao;
    12. import com.java1234.model.Link;
    13. import com.java1234.model.NewsType;
    14. import com.java1234.util.DbUtil;
    15. import com.java1234.util.NavUtil;
    16. import com.java1234.util.ResponseUtil;
    17. import com.java1234.util.StringUtil;
    18. public class NewsTypeServlet extends HttpServlet{
    19. /**
    20. *
    21. */
    22. private static final long serialVersionUID = 1L;
    23. DbUtil dbUtil=new DbUtil();
    24. NewsDao newsDao=new NewsDao();
    25. NewsTypeDao newsTypeDao=new NewsTypeDao();
    26. @Override
    27. protected void doGet(HttpServletRequest request, HttpServletResponse response)
    28. throws ServletException, IOException {
    29. this.doPost(request, response);
    30. }
    31. @Override
    32. protected void doPost(HttpServletRequest request, HttpServletResponse response)
    33. throws ServletException, IOException {
    34. request.setCharacterEncoding("utf-8");
    35. String action=request.getParameter("action");
    36. if("preSave".equals(action)){
    37. this.newsTypePreSave(request, response);
    38. }else if("save".equals(action)){
    39. this.newsTypeSave(request, response);
    40. }else if("backList".equals(action)){
    41. this.newsTypeBackList(request, response);
    42. }else if("delete".equals(action)){
    43. this.newsTypeDelete(request, response);
    44. }
    45. }
    46. private void newsTypePreSave(HttpServletRequest request, HttpServletResponse response)
    47. throws ServletException, IOException {
    48. String newsTypeId=request.getParameter("newsTypeId");
    49. Connection con=null;
    50. try{
    51. con=dbUtil.getCon();
    52. if(StringUtil.isNotEmpty(newsTypeId)){
    53. NewsType newsType=newsTypeDao.getNewsTypeById(con, newsTypeId);
    54. request.setAttribute("newsType", newsType);
    55. }
    56. if(StringUtil.isNotEmpty(newsTypeId)){
    57. request.setAttribute("navCode", NavUtil.genNewsManageNavigation("新闻类别管理", "新闻类别修改"));
    58. }else{
    59. request.setAttribute("navCode", NavUtil.genNewsManageNavigation("新闻类别管理", "新闻类别添加"));
    60. }
    61. request.setAttribute("mainPage", "/background/newsType/newsTypeSave.jsp");
    62. request.getRequestDispatcher("/background/mainTemp.jsp").forward(request, response);
    63. }catch(Exception e){
    64. e.printStackTrace();
    65. }finally{
    66. try {
    67. dbUtil.closeCon(con);
    68. } catch (Exception e) {
    69. // TODO Auto-generated catch block
    70. e.printStackTrace();
    71. }
    72. }
    73. }
    74. private void newsTypeSave(HttpServletRequest request, HttpServletResponse response)
    75. throws ServletException, IOException {
    76. Connection con=null;
    77. String newsTypeId=request.getParameter("newsTypeId");
    78. String typeName=request.getParameter("typeName");
    79. NewsType newsType=new NewsType(typeName);
    80. if(StringUtil.isNotEmpty(newsTypeId)){
    81. newsType.setNewsTypeId(Integer.parseInt(newsTypeId));
    82. }
    83. try{
    84. con=dbUtil.getCon();
    85. if(StringUtil.isNotEmpty(newsTypeId)){
    86. newsTypeDao.newsTypeUpdate(con, newsType);
    87. }else{
    88. newsTypeDao.newsTypeAdd(con, newsType);
    89. }
    90. request.getRequestDispatcher("/newsType?action=backList").forward(request, response);
    91. }catch(Exception e){
    92. e.printStackTrace();
    93. }finally{
    94. try {
    95. dbUtil.closeCon(con);
    96. } catch (Exception e) {
    97. // TODO Auto-generated catch block
    98. e.printStackTrace();
    99. }
    100. }
    101. }
    102. private void newsTypeBackList(HttpServletRequest request, HttpServletResponse response)
    103. throws ServletException, IOException {
    104. Connection con=null;
    105. try{
    106. con=dbUtil.getCon();
    107. List newsTypeBackList=newsTypeDao.newsTypeList(con);
    108. request.setAttribute("newsTypeBackList", newsTypeBackList);
    109. request.setAttribute("navCode", NavUtil.genNewsManageNavigation("新闻类别管理", "新闻类别维护"));
    110. request.setAttribute("mainPage", "/background/newsType/newsTypeList.jsp");
    111. request.getRequestDispatcher("/background/mainTemp.jsp").forward(request, response);
    112. }catch(Exception e){
    113. e.printStackTrace();
    114. }finally{
    115. try {
    116. dbUtil.closeCon(con);
    117. } catch (Exception e) {
    118. // TODO Auto-generated catch block
    119. e.printStackTrace();
    120. }
    121. }
    122. }
    123. private void newsTypeDelete(HttpServletRequest request, HttpServletResponse response)
    124. throws ServletException, IOException {
    125. String newsTypeId=request.getParameter("newsTypeId");
    126. Connection con=null;
    127. try{
    128. con=dbUtil.getCon();
    129. JSONObject result=new JSONObject();
    130. boolean exist=newsDao.existNewsWithNewsTypeId(con, newsTypeId);
    131. if(exist){
    132. result.put("errorMsg", "该新闻类别下有新闻,不能删除此新闻类别");
    133. }else{
    134. int delNums=newsTypeDao.newsTypeDelete(con, newsTypeId);
    135. if(delNums>0){
    136. result.put("success", true);
    137. }else{
    138. result.put("errorMsg", "删除失败");
    139. }
    140. }
    141. ResponseUtil.write(result, response);
    142. }catch(Exception e){
    143. e.printStackTrace();
    144. }finally{
    145. try {
    146. dbUtil.closeCon(con);
    147. } catch (Exception e) {
    148. // TODO Auto-generated catch block
    149. e.printStackTrace();
    150. }
    151. }
    152. }
    153. }

    UserServlet

    1. package com.java1234.web;
    2. import java.io.IOException;
    3. import java.sql.Connection;
    4. import javax.servlet.ServletException;
    5. import javax.servlet.http.HttpServlet;
    6. import javax.servlet.http.HttpServletRequest;
    7. import javax.servlet.http.HttpServletResponse;
    8. import javax.servlet.http.HttpSession;
    9. import com.java1234.dao.UserDao;
    10. import com.java1234.model.User;
    11. import com.java1234.util.DbUtil;
    12. public class UserServlet extends HttpServlet{
    13. /**
    14. *
    15. */
    16. private static final long serialVersionUID = 1L;
    17. DbUtil dbUtil=new DbUtil();
    18. UserDao userDao=new UserDao();
    19. protected void doGet(HttpServletRequest request, HttpServletResponse response)
    20. throws ServletException, IOException {
    21. this.doPost(request, response);
    22. }
    23. @Override
    24. protected void doPost(HttpServletRequest request, HttpServletResponse response)
    25. throws ServletException, IOException {
    26. request.setCharacterEncoding("utf-8");
    27. String action=request.getParameter("action");
    28. if("login".equals(action)){
    29. login(request,response);
    30. }else if("logout".equals(action)){
    31. logout(request,response);
    32. }
    33. }
    34. private void login(HttpServletRequest request, HttpServletResponse response)
    35. throws ServletException, IOException {
    36. String userName=request.getParameter("userName");
    37. String password=request.getParameter("password");
    38. HttpSession session=request.getSession();
    39. Connection con=null;
    40. try{
    41. con=dbUtil.getCon();
    42. User user=new User(userName,password);
    43. User currentUser=userDao.login(con, user);
    44. if(currentUser==null){
    45. request.setAttribute("error", "用户名或者密码错误!");
    46. request.setAttribute("password", password);
    47. request.setAttribute("userName", userName);
    48. request.getRequestDispatcher("/background/login.jsp").forward(request, response);
    49. }else{
    50. session.setAttribute("currentUser", currentUser);
    51. request.setAttribute("mainPage", "/background/default.jsp");
    52. request.getRequestDispatcher("/background/mainTemp.jsp").forward(request, response);
    53. }
    54. }catch(Exception e){
    55. e.printStackTrace();
    56. }finally{
    57. try {
    58. dbUtil.closeCon(con);
    59. } catch (Exception e) {
    60. // TODO Auto-generated catch block
    61. e.printStackTrace();
    62. }
    63. }
    64. }
    65. private void logout(HttpServletRequest request, HttpServletResponse response)
    66. throws ServletException, IOException {
    67. request.getSession().invalidate();
    68. System.out.println(request.getContextPath()+"/background/login.jsp");
    69. response.sendRedirect(request.getContextPath()+"/background/login.jsp");
    70. }
    71. }

    LinkServlet

    1. package com.java1234.web;
    2. import java.io.IOException;
    3. import java.sql.Connection;
    4. import java.util.List;
    5. import javax.servlet.ServletException;
    6. import javax.servlet.http.HttpServlet;
    7. import javax.servlet.http.HttpServletRequest;
    8. import javax.servlet.http.HttpServletResponse;
    9. import net.sf.json.JSONObject;
    10. import com.java1234.dao.LinkDao;
    11. import com.java1234.model.Link;
    12. import com.java1234.util.DbUtil;
    13. import com.java1234.util.NavUtil;
    14. import com.java1234.util.ResponseUtil;
    15. import com.java1234.util.StringUtil;
    16. public class LinkServlet extends HttpServlet{
    17. /**
    18. *
    19. */
    20. private static final long serialVersionUID = 1L;
    21. DbUtil dbUtil=new DbUtil();
    22. LinkDao linkDao=new LinkDao();
    23. protected void doGet(HttpServletRequest request, HttpServletResponse response)
    24. throws ServletException, IOException {
    25. this.doPost(request, response);
    26. }
    27. @Override
    28. protected void doPost(HttpServletRequest request, HttpServletResponse response)
    29. throws ServletException, IOException {
    30. request.setCharacterEncoding("utf-8");
    31. String action=request.getParameter("action");
    32. if("preSave".equals(action)){
    33. linkPreSave(request,response);
    34. }else if("save".equals(action)){
    35. linkSave(request,response);
    36. }else if("backList".equals(action)){
    37. linkBackList(request,response);
    38. }else if("delete".equals(action)){
    39. linkDelete(request,response);
    40. }
    41. }
    42. private void linkDelete(HttpServletRequest request,
    43. HttpServletResponse response) throws ServletException, IOException{
    44. String linkId=request.getParameter("linkId");
    45. Connection con=null;
    46. try{
    47. con=dbUtil.getCon();
    48. JSONObject result=new JSONObject();
    49. int delNums=linkDao.linkDelete(con, linkId);
    50. if(delNums>0){
    51. result.put("success", true);
    52. }else{
    53. result.put("errorMsg", "删除失败");
    54. }
    55. ResponseUtil.write(result, response);
    56. }catch(Exception e){
    57. e.printStackTrace();
    58. }finally{
    59. try {
    60. dbUtil.closeCon(con);
    61. } catch (Exception e) {
    62. // TODO Auto-generated catch block
    63. e.printStackTrace();
    64. }
    65. }
    66. }
    67. private void linkBackList(HttpServletRequest request,
    68. HttpServletResponse response) throws ServletException, IOException{
    69. Connection con=null;
    70. try{
    71. con=dbUtil.getCon();
    72. List linkBackList=linkDao.linkList(con, "select * from t_link order by orderNum");
    73. request.setAttribute("linkBackList", linkBackList);
    74. request.setAttribute("navCode", NavUtil.genNewsManageNavigation("友情链接管理", "友情链接维护"));
    75. request.setAttribute("mainPage", "/background/link/linkList.jsp");
    76. request.getRequestDispatcher("/background/mainTemp.jsp").forward(request, response);
    77. }catch(Exception e){
    78. e.printStackTrace();
    79. }finally{
    80. try {
    81. dbUtil.closeCon(con);
    82. } catch (Exception e) {
    83. // TODO Auto-generated catch block
    84. e.printStackTrace();
    85. }
    86. }
    87. }
    88. private void linkPreSave(HttpServletRequest request, HttpServletResponse response)
    89. throws ServletException, IOException{
    90. String linkId=request.getParameter("linkId");
    91. Connection con=null;
    92. try{
    93. con=dbUtil.getCon();
    94. if(StringUtil.isNotEmpty(linkId)){
    95. Link link=linkDao.getLinkById(con, linkId);
    96. request.setAttribute("link", link);
    97. }
    98. if(StringUtil.isNotEmpty(linkId)){
    99. request.setAttribute("navCode", NavUtil.genNewsManageNavigation("友情链接管理", "友情链接修改"));
    100. }else{
    101. request.setAttribute("navCode", NavUtil.genNewsManageNavigation("友情链接管理", "友情链接添加"));
    102. }
    103. request.setAttribute("mainPage", "/background/link/linkSave.jsp");
    104. request.getRequestDispatcher("/background/mainTemp.jsp").forward(request, response);
    105. }catch(Exception e){
    106. e.printStackTrace();
    107. }finally{
    108. try {
    109. dbUtil.closeCon(con);
    110. } catch (Exception e) {
    111. // TODO Auto-generated catch block
    112. e.printStackTrace();
    113. }
    114. }
    115. }
    116. private void linkSave(HttpServletRequest request, HttpServletResponse response)
    117. throws ServletException, IOException {
    118. Connection con=null;
    119. String linkId=request.getParameter("linkId");
    120. String linkName=request.getParameter("linkName");
    121. String linkUrl=request.getParameter("linkUrl");
    122. String linkEmail=request.getParameter("linkEmail");
    123. String orderNum=request.getParameter("orderNum");
    124. Link link=new Link(linkName, linkUrl, linkEmail, Integer.parseInt(orderNum));
    125. if(StringUtil.isNotEmpty(linkId)){
    126. link.setLinkId(Integer.parseInt(linkId));
    127. }
    128. try{
    129. con=dbUtil.getCon();
    130. if(StringUtil.isNotEmpty(linkId)){
    131. linkDao.linkUpdate(con, link);
    132. }else{
    133. linkDao.linkAdd(con, link);
    134. }
    135. request.getRequestDispatcher("/link?action=backList").forward(request, response);
    136. }catch(Exception e){
    137. e.printStackTrace();
    138. }finally{
    139. try {
    140. dbUtil.closeCon(con);
    141. } catch (Exception e) {
    142. // TODO Auto-generated catch block
    143. e.printStackTrace();
    144. }
    145. }
    146. }
    147. }

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

     

  • 相关阅读:
    获取和设置小程序和h5的页面栈
    Centos 8 stream x64安装KVM
    首批48所高校大模型开课“尝鲜”,AI教学赋能计划合作名单公布
    时间序列常用数据处理
    SpingBoot的配置文件,SSM整合
    将json数据导入到ES集群——解决方案对比&填坑日记
    客服都喜欢的快捷回复软件
    IBM MQ 通道数量查看,以及最大通道数的修改
    Eureka Series : 5G + RTC
    C++ String类 (下) String类的模拟实现
  • 原文地址:https://blog.csdn.net/m0_74967853/article/details/128073674