Servlet实现完整功能增删改查-完整代码
我自主完成的Servlet连接数据库实现完整功能增删改查的代码,放在这里,也可以到我github上下载:
https://github.com/BXF-Aurora168
练习项目-Servlet实现数据库增删改查-新闻发布系统 Exercise project -Servlet to achieve database additions, deletions, changes and checks - news release system
这个系统是纯用Servlet写的,是我用来练习的项目,没有用jsp,当然其实混合jsp制作更加方便,但我觉得jsp页面虽然好写,
但是这个小系统直接用servlet就够了,也比较简洁,而且毕竟jsp其实就是一种形式比较方便的servlet,本质上还是servlet,
目前实现的功能:
1.能够实现不同用户身份的登录,注册。
2.能够根据不同用户身份跳转到不同用户页面,分为普通用户,撰稿人,管理员。
3.能够实现防止非法登录。
4.管理员界面:能够修改用户账户信息,包括账户密码身份,删除用户账户信息。
5.撰稿人界面:能够实现发布稿件的功能,实现查看本人发布的新闻,修改或者删除本人发布的新闻。
6.用户界面:能够实现查看浏览新闻,有搜索框能实现模糊查询。
DB.java
package com; import java.sql.*; public class DB { public Connection conn = null; public Statement stmt = null; public ResultSet rs = null; String url = "jdbc:mysql://localhost:3306/test001?useSSL=false&serverTimezone=UTC"; String username = "root"; String password = "123"; public DB(){ try{ Class.forName("com.mysql.cj.jdbc.Driver"); conn = DriverManager.getConnection(url,username,password); stmt = conn.createStatement(); }catch(SQLException se){ // 处理 JDBC 错误 se.printStackTrace(); }catch(Exception e){ // 处理 Class.forName 错误 e.printStackTrace(); } } public void close(){ try { if (rs!=null){ rs.close(); } if (stmt!=null){ stmt.close(); } if (conn!=null){ conn.close(); } } catch (SQLException e) { throw new RuntimeException(e); } } }
DaoCrud.java
package Dao; import com.DB; import java.sql.PreparedStatement; import java.sql.SQLException; public class DaoCrud { public DaoCrud(){ } public void AddNews(String title,String text,String writer,String date){ DB db = new DB(); PreparedStatement preparedStatement=null; try { String sql = "INSERT INTO news_info (news_title,news_text,news_writer,news_date) values (?,?,?,?)"; preparedStatement=db.conn.prepareStatement(sql); preparedStatement.setString(1,title); preparedStatement.setString(2,text); preparedStatement.setString(3,writer); preparedStatement.setString(4,date); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally{ } } public void AddUser(String name,String pass,String ident){ DB db = new DB(); PreparedStatement preparedStatement=null; try { String sql = "INSERT INTO user_info (user_name,user_password,user_identity) values (?,?,?)"; preparedStatement=db.conn.prepareStatement(sql); preparedStatement.setString(1,name); preparedStatement.setString(2,pass); preparedStatement.setString(3,ident); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally{ } } public void UpdateNews(String title,String text,String writer,String date,int id){ DB db = new DB(); PreparedStatement preparedStatement=null; try { String sql = "UPDATE news_info SET news_title=?, news_text=?, news_writer=?, news_date=? WHERE news_id=?"; preparedStatement=db.conn.prepareStatement(sql); preparedStatement.setString(1,title); preparedStatement.setString(2,text); preparedStatement.setString(3,writer); preparedStatement.setString(4,date); preparedStatement.setInt(5,id); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally{ } } public void UpdateName(String name,String pass,String ident,int id){ DB db = new DB(); PreparedStatement preparedStatement=null; try { String sql = "UPDATE user_info SET user_name=?, user_password=?, user_identity=? WHERE user_id=?"; preparedStatement=db.conn.prepareStatement(sql); preparedStatement.setString(1,name); preparedStatement.setString(2,pass); preparedStatement.setString(3,ident); preparedStatement.setInt(4,id); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally{ } } public void DeleteNews(int id){ DB db = new DB(); PreparedStatement preparedStatement=null; try { String sql = "DELETE FROM news_info WHERE news_id=?"; preparedStatement=db.conn.prepareStatement(sql); preparedStatement.setInt(1,id); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally{ } } public void DeleteName(int id){ DB db = new DB(); PreparedStatement preparedStatement=null; try { String sql = "DELETE FROM user_info WHERE user_id=?"; preparedStatement=db.conn.prepareStatement(sql); preparedStatement.setInt(1,id); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally{ } } }
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/Login") public class Login extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); try { PrintWriter out = resp.getWriter(); String title1 = "登录"; out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + title1 + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title1 + "</h1>\n" + "<form action=\"LoginJudge\" method=\"POST\">" + "账号:<input type=\"text\" name=\"put_name\"><br>"+ "密码:<input type=\"password\" name=\"put_password\"><br>" + "登录身份:<input type=\"radio\" name=\"put_identity\" value=\"普通用户\">普通用户"+ "<input type=\"radio\" name=\"put_identity\" value=\"撰稿人\">撰稿人"+ "<input type=\"radio\" name=\"put_identity\" value=\"管理员\">管理员"+ "<br>"+ "<input type=\"submit\" value=\"登录\">" + "</form>" + "<form action=\"Register\" method=\"POST\">" + "<input type=\"submit\" value=\"注册\">"+ "</form>"+ "<body><html>" ); }catch (Exception e){ e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override public void destroy() { } }
import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; @WebServlet("/LoginJudge") public class LoginJudge extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); DB db = new DB(); try { PrintWriter out = resp.getWriter(); String na =new String(req.getParameter("put_name").getBytes("ISO8859-1"),"UTF-8"); String pw = new String(req.getParameter("put_password").getBytes("ISO8859-1"),"UTF-8"); String iy = new String(req.getParameter("put_identity").getBytes("ISO8859-1"),"UTF-8"); //获得session空间 HttpSession hs = req.getSession(true); //修改session的存在时间为200秒 hs.setMaxInactiveInterval(200); db.rs = db.stmt.executeQuery("SELECT * FROM user_info WHERE user_name="+"'"+na+"'"); if (db.rs.next()){ if (pw.equals(db.rs.getString("user_password"))){ if (iy.equals(db.rs.getString("user_identity"))){ switch (iy){ case "普通用户": //设置session 名为u_pass 值为ok hs.setAttribute("u_pass","ok"); hs.setAttribute("u_name",na); String site1 = new String("http://localhost:8080/MyCRUD_war_exploded/User1"); resp.setStatus(resp.SC_MOVED_TEMPORARILY); resp.setHeader("Location", site1); break; case "撰稿人": hs.setAttribute("w_pass","ok"); hs.setAttribute("w_name",na); String site2 = new String("http://localhost:8080/MyCRUD_war_exploded/Writer1"); resp.setStatus(resp.SC_MOVED_TEMPORARILY); resp.setHeader("Location", site2); break; case "管理员": hs.setAttribute("a_pass","ok"); hs.setAttribute("a_name",na); String site3 = new String("http://localhost:8080/MyCRUD_war_exploded/Admin1"); resp.setStatus(resp.SC_MOVED_TEMPORARILY); resp.setHeader("Location", site3); break; } } else{ out.print("<script language='javaScript'> alert('登陆身份错误');</script>"); resp.setHeader("refresh", "0;url=Login"); } } else{ out.print("<script language='javaScript'> alert('密码错误');</script>"); resp.setHeader("refresh", "0;url=Login"); } }else { out.print("<script language='javaScript'> alert('用户名错误');</script>"); resp.setHeader("refresh", "0;url=Login"); } }catch (Exception e){ e.printStackTrace(); } finally{ db.close(); } } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; @WebServlet("/Register") public class Register extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 设置响应内容类型 resp.setContentType("text/html;charset=UTF-8"); try { PrintWriter out = resp.getWriter(); String title1 = "注册"; out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + title1 + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title1 + "</h1>\n" + "<form action=\"RegJudge\" method=\"POST\">" + "账号:<input type=\"text\" name=\"reg_name\"><br>"+ "密码:<input type=\"password\" name=\"reg_password\"><br>" + "登录身份:<input type=\"radio\" name=\"reg_identity\" value=\"普通用户\">普通用户"+ "<input type=\"radio\" name=\"reg_identity\" value=\"撰稿人\">撰稿人"+ "<br>"+ "<input type=\"submit\" value=\"注册\">" + "</form>" + "<br><input type=\"button\" value=\"点击返回\" onclick=\"location.href='Login'\" />"+ "<body><html>" ); }catch (Exception e){ e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/RegJudge") public class RegJudge extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应内容类型 response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String name =new String(request.getParameter("reg_name").getBytes("ISO8859-1"),"UTF-8"); String password = new String(request.getParameter("reg_password").getBytes("ISO8859-1"),"UTF-8"); String identity = new String(request.getParameter("reg_identity").getBytes("ISO8859-1"),"UTF-8"); try { DB db = new DB(); DaoCrud crud = new DaoCrud(); if(identity==""||password==""||name==""){ out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "提交失败" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "提交失败,标题或内容不能为空" + "</h1>\n" + "<input type=\"button\" value=\"点击返回\" onclick=\"location.href='Register'\" />"+ "</body></html>" ); }else { crud.AddUser(name,password,identity); out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "注册成功" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "注册成功" + "</h1>\n" + "<input type=\"button\" value=\"点击返回登录\" onclick=\"location.href='Login'\" />"+ "</body></html>" ); } }catch (Exception e){ e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; import java.text.SimpleDateFormat; import java.util.Date; @WebServlet("/Search1") public class Search1 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); //获取session HttpSession hs = req.getSession(true); String na = (String) hs.getAttribute("u_name"); String value = (String) hs.getAttribute("pass"); //获取日期 java.util.Date dat = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd"); String putin = new String(req.getParameter("put_in").getBytes("ISO8859-1"),"UTF-8"); //数据库连接 DB db = new DB(); try { out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "搜索界面" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "搜索结果" + "</h1>\n" + "<br><input type=\"button\" value=\"点击返回主菜单\" onclick=\"location.href='User1'\" />" ); db.rs = db.stmt.executeQuery("SELECT * FROM news_info WHERE news_title LIKE " + "'%" + putin + "%'"); while (db.rs.next()) { out.println("<br>"); String title = db.rs.getString("news_title"); String text = db.rs.getString("news_text"); String writer = db.rs.getString("news_writer"); String date = db.rs.getString("news_date"); int id = db.rs.getInt("news_id"); out.println(title); out.println("<br>"); out.println(text); out.println("<br>"); out.print("作者" + writer); out.print("日期: " + date); out.println("<br>"); } out.println("</body></html>"); }catch (Exception e){ e.printStackTrace(); }finally { db.close(); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { } }
import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.xml.transform.Result; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.sql.*; @WebServlet("/User1") public class User1 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); //得到session HttpSession hs = req.getSession(true); String na = (String) hs.getAttribute("u_name"); String value = (String) hs.getAttribute("u_pass"); // 获取日期格式 yyyy.MM.dd hh:mm:ss E a Date dat = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd"); //连接数据库,创建数据库对象 DB db = new DB(); //判断 if (value!="ok"){ try { //非法登录 resp.sendRedirect("Login"); }catch (Exception e){ e.printStackTrace(); } } try { out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "用户界面" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "用户界面:浏览新闻" + "</h1>\n" + "<h3 align=\"center\">" + "成功登录,你的用户名是 " + na + "</h3>\n" + "<h3 align=\"center\">" + "现在的日期 " + ft.format(dat) + "</h3>\n"+ "<br><input type=\"button\" value=\"点击返回\" onclick=\"location.href='Login'\" />"+ "<form action=\"Search1\" method=\"POST\">" + "<input type=\"text\" name=\"put_in\">"+ "<input type=\"submit\" value=\"搜索\">"+ "</form>" ); db.rs = db.stmt.executeQuery("SELECT news_title,news_text,news_writer,news_date FROM news_info"); while (db.rs.next()) { out.println("<br>"); String title = db.rs.getString("news_title"); String text = db.rs.getString("news_text"); String writer = db.rs.getString("news_writer"); String date = db.rs.getString("news_date"); out.println(title); out.println("<br>"); out.println(text); out.println("<br>"); out.println("作者" + writer); out.println("日期: " + date); out.println("<br>"); out.println("<br>"); } out.println("</body></html>"); }catch (Exception e){ e.printStackTrace(); }finally { db.close(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override public void destroy() { } }
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.sql.*; @WebServlet("/Writer1") public class Writer1 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); HttpSession hs = req.getSession(true); //获取姓名 String na = (String) hs.getAttribute("w_name"); String value = (String) hs.getAttribute("w_pass"); //获取日期 Date dat = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd"); out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "撰稿界面" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "发布你的稿件" + "</h1>\n" + "<h3 align=\"center\">" + "撰稿人成功登录,你的用户名是 " + na + "</h3>\n"+ "<h3 align=\"center\">" + "现在的日期 " + ft.format(dat) + "</h3>\n"+ "<br><input type=\"button\" value=\"点击返回\" onclick=\"location.href='Login'\" />"+ "<form action=\"Writer2\" method=\"POST\">"+ "<h3>新闻标题</h3><br>"+ "<input type=\"text\" name=\"publish_title\" size=\"65\"><br>"+ "<h3>新闻内容</h3>"+ "<textarea rows=\"15\" cols=\"60\" name=\"publish_text\">"+ "</textarea>"+ "<h4>作者</h4>"+ na + "<input type=\"hidden\" name=\"publish_writer\" value="+ na +"><br>"+ "<h4>日期</h4>"+ ft.format(dat) + "<input type=\"hidden\" name=\"publish_date\" value=" + ft.format(dat) + "><br>" + "<input type=\"submit\" value=\"发布我的稿件\">"+ "</form>"+ "<form id=\"form1\" name=\"form1\" method=\"POST\" action=\"Writer3\">" + "<input type=\"submit\" value=\"查看并修改稿件\">"+ "</form>"+ "</body></html>" ); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; @WebServlet("/Writer2") public class Writer2 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); //获取session HttpSession hs = req.getSession(true); String na = (String) hs.getAttribute("w_name"); String value = (String) hs.getAttribute("w_pass"); DB db = new DB(); //获取表单信息 String title_check =req.getParameter("publish_title"); String text_check =req.getParameter("publish_text"); String title = new String(req.getParameter("publish_title").getBytes("ISO8859-1"),"UTF-8"); String text = new String(req.getParameter("publish_text").getBytes("ISO8859-1"),"UTF-8"); String writer = new String(req.getParameter("publish_writer").getBytes("ISO8859-1"),"UTF-8"); String date =new String(req.getParameter("publish_date").getBytes("ISO8859-1"),"UTF-8"); DaoCrud crud = new DaoCrud(); //检测内容是否为空 if(title_check==""||text_check==""){ out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "提交失败" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "提交失败,标题或内容不能为空" + "</h1>\n" + "<input type=\"button\" value=\"点击返回\" onclick=\"location.href='Writer1'\" />"+ "</body></html>" ); }else { crud.AddNews(title,text,writer,date); out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "发布成功" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "发布成功" + "</h1>\n" + "<input type=\"button\" value=\"点击返回\" onclick=\"location.href='Writer1'\" />"+ "</body></html>" ); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; import java.text.SimpleDateFormat; import java.util.Date; @WebServlet("/Writer3") public class Writer3 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); //获取session HttpSession hs = req.getSession(true); String na = (String) hs.getAttribute("w_name"); String value = (String) hs.getAttribute("w_pass"); //获取日期 java.util.Date dat = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd"); //数据库连接 DB db = new DB(); try { out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "修改界面" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "修改界面" + "</h1>\n" + "<h3 align=\"center\">" + "修改你的稿件" ); out.println("<br><input type=\"button\" value=\"点击返回主菜单\" onclick=\"location.href='Writer1'\" />"); db.rs = db.stmt.executeQuery("SELECT news_title,news_text,news_writer,news_date,news_id FROM news_info WHERE news_writer="+"'"+na+"'"); while (db.rs.next()) { out.println("<br>"); String title = db.rs.getString("news_title"); String text = db.rs.getString("news_text"); String writer = db.rs.getString("news_writer"); String date = db.rs.getString("news_date"); int id = db.rs.getInt("news_id"); out.println(title); out.println("<br>"); out.println(text); out.println("<br>"); out.print("作者" + writer); out.print("日期: " + date); out.println("<form action=\"Writer4\" method=\"POST\">"+ "<input type=\"hidden\" name=\"old_title\" value="+ title +">"+ "<input type=\"hidden\" name=\"old_text\" value="+ text +">"+ "<input type=\"hidden\" name=\"old_id\" value="+ id +"><br>"+ "<input type=\"submit\" value=\"修改此稿件\">"+ "</form>"+ "<form id=\"form2\" name=\"form2\" method=\"POST\" action=\"Delete1\">" + "<input type=\"hidden\" name=\"delete_id\" value="+ id +">"+ "<input type=\"submit\" value=\"删除此稿件\">"+ "</form>" ); out.println("<br>"); } out.println("</body></html>"); }catch (Exception e){ e.printStackTrace(); }finally { db.close(); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; import java.text.SimpleDateFormat; import java.util.Date; @WebServlet("/Writer4") public class Writer4 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); //获取session HttpSession hs = req.getSession(true); String na = (String) hs.getAttribute("w_name"); String value = (String) hs.getAttribute("w_pass"); //获取日期 java.util.Date dat = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd"); //数据库连接 DB db = new DB(); //获取旧的文本 String title = new String(req.getParameter("old_title").getBytes("ISO8859-1"),"UTF-8"); String text = new String(req.getParameter("old_text").getBytes("ISO8859-1"),"UTF-8"); int id = Integer.parseInt(req.getParameter("old_id")); out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "修改界面" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "修改你的稿件" + "</h1>\n" + "<br><input type=\"button\" value=\"点击返回\" onclick=\"location.href='Writer1'\" />"+ "<form action=\"Writer5\" method=\"POST\">"+ "<h3>新闻标题</h3><br>"+ "<input type=\"text\" name=\"modify_title\" value="+ title +"><br>"+ "<h3>新闻内容</h3>"+ "<textarea rows=\"15\" cols=\"60\" name=\"modify_text\" value=>"+ text + "</textarea>"+ "<h4>作者</h4>"+ na + "<input type=\"hidden\" name=\"modify_writer\" value="+ na +">"+ "<h4>日期</h4>"+ ft.format(dat) + "<input type=\"hidden\" name=\"modify_date\" value=" + ft.format(dat) + ">" + "<input type=\"hidden\" name=\"modify_id\" value="+ id +">"+ "<input type=\"submit\" value=\"修改\">"+ "</form>" + "</body></html>" ); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; @WebServlet("/Writer5") public class Writer5 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); //获取session HttpSession hs = req.getSession(true); String na = (String) hs.getAttribute("w_name"); String value = (String) hs.getAttribute("w_pass"); DB db = new DB(); //获取表单信息 String title_check =req.getParameter("modify_title"); String text_check =req.getParameter("modify_text"); String title = new String(req.getParameter("modify_title").getBytes("ISO8859-1"),"UTF-8"); String text = new String(req.getParameter("modify_text").getBytes("ISO8859-1"),"UTF-8"); String writer = new String(req.getParameter("modify_writer").getBytes("ISO8859-1"),"UTF-8"); String date = new String(req.getParameter("modify_date").getBytes("ISO8859-1"),"UTF-8"); int id = Integer.parseInt(req.getParameter("modify_id")); DaoCrud crud = new DaoCrud(); //检测内容是否为空 if(title_check==""||text_check==""){ out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "提交失败" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "修改失败,标题或内容不能为空" + "</h1>\n" + "<input type=\"button\" value=\"点击返回\" onclick=\"location.href='Writer1'\" />"+ "</body></html>" ); }else { crud.UpdateNews(title,text,writer,date,id); out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "修改成功" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "修改成功" + "</h1>\n" + "<input type=\"button\" value=\"点击返回\" onclick=\"location.href='Writer1'\" />"+ "</body></html>" ); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { } }
import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.sql.*; @WebServlet("/Admin1") public class Admin1 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); //得到session HttpSession hs = req.getSession(true); String na = (String) hs.getAttribute("a_name"); String value = (String) hs.getAttribute("pass"); // 获取日期格式 yyyy.MM.dd hh:mm:ss E a Date dat = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd"); //连接数据库,创建数据库对象 DB db = new DB(); //判断 try { out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "管理员界面" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "管理员界面" + "</h1>\n" + "<h3 align=\"center\">" + "管理员,你好 " + na + "</h3>\n" + "<h3 align=\"center\">" + "现在的日期 " + ft.format(dat) + "</h3>\n"+ "<br><input type=\"button\" value=\"点击返回登录页面\" onclick=\"location.href='Login'\" />"+ "<form action=\"Admin2\" method=\"POST\">" + "<input type=\"submit\" value=\"管理用户信息\">"+ "</form>" ); out.println("</body></html>"); }catch (Exception e){ e.printStackTrace(); }finally { db.close(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override public void destroy() { } }
import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.xml.transform.Result; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.sql.*; @WebServlet("/Admin2") public class Admin2 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); //得到session HttpSession hs = req.getSession(true); String na = (String) hs.getAttribute("a_name"); String value = (String) hs.getAttribute("pass"); // 获取日期格式 yyyy.MM.dd hh:mm:ss E a Date dat = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd"); //连接数据库,创建数据库对象 DB db = new DB(); //判断 // if (value==null){ // try { // //非法登录 // resp.sendRedirect("Login"); // }catch (Exception e){ // e.printStackTrace(); // } // } try { out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "管理员界面" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "管理员界面" + "</h1>\n" + "<h3 align=\"center\">" + "管理员用户信息 " + na + "</h3>\n" + "<br><input type=\"button\" value=\"点击返回\" onclick=\"location.href='Admin1'\" />" ); db.rs = db.stmt.executeQuery("SELECT user_name, user_password, user_identity, user_id FROM user_info"); while (db.rs.next()) { out.println("<br>"); String name = db.rs.getString("user_name"); String password = db.rs.getString("user_password"); String identity = db.rs.getString("user_identity"); int id = db.rs.getInt("user_id"); out.println("<br>"); out.println("账号:" + name); out.println("密码:" + password); out.println("身份:" + identity); out.println("<br>"); out.println("<form action=\"Admin3\" method=\"POST\">"+ "<input type=\"hidden\" name=\"old_name\" value="+ name +">"+ "<input type=\"hidden\" name=\"old_password\" value="+ password +">"+ "<input type=\"hidden\" name=\"old_identity\" value="+ identity +">"+ "<input type=\"hidden\" name=\"old_id\" value="+ id +">"+ "<input type=\"submit\" value=\"修改此账户\">"+ "</form>"+ "<form method=\"POST\" action=\"Admin4\">" + "<input type=\"hidden\" name=\"delete_name\" value="+ name +">"+ "<input type=\"hidden\" name=\"delete_id\" value="+ id +">"+ "<input type=\"submit\" value=\"删除此账户\">"+ "</form>" ); } out.println("</body></html>"); }catch (Exception e){ e.printStackTrace(); }finally { db.close(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; import java.text.SimpleDateFormat; import java.util.Date; @WebServlet("/Admin3") public class Admin3 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); //获取session HttpSession hs = req.getSession(true); String na = (String) hs.getAttribute("a_name"); String value = (String) hs.getAttribute("pass"); //数据库连接 DB db = new DB(); //获取旧的文本 String name = new String(req.getParameter("old_name").getBytes("ISO8859-1"),"UTF-8"); String password = new String(req.getParameter("old_password").getBytes("ISO8859-1"),"UTF-8"); String identity = new String(req.getParameter("old_identity").getBytes("ISO8859-1"),"UTF-8"); int id = Integer.parseInt(req.getParameter("old_id")); try { String title1 = "修改账户信息"; out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + title1 + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title1 + "</h1>\n" + "<br><input type=\"button\" value=\"点击返回\" onclick=\"location.href='Admin2'\" />"+ "<form action=\"AdminModify\" method=\"POST\">" + "账号:<input type=\"text\" name=\"mod_name\" value="+ name +"><br>"+ "密码:<input type=\"text\" name=\"mod_password\" value="+ password +"><br>" ); switch (identity){ case "普通用户": out.println( "登录身份:<input type=\"radio\" name=\"mod_identity\" value=\"普通用户\" checked=\"checked\">普通用户"+ "<input type=\"radio\" name=\"mod_identity\" value=\"撰稿人\">撰稿人"+ "<input type=\"radio\" name=\"mod_identity\" value=\"管理员\">管理员" ); break; case "撰稿人": out.println( "登录身份:<input type=\"radio\" name=\"mod_identity\" value=\"普通用户\">普通用户"+ "<input type=\"radio\" name=\"mod_identity\" value=\"撰稿人\" checked=\"checked\">撰稿人"+ "<input type=\"radio\" name=\"mod_identity\" value=\"管理员\">管理员" ); break; case "管理员": out.println( "登录身份:<input type=\"radio\" name=\"mod_identity\" value=\"普通用户\">普通用户"+ "<input type=\"radio\" name=\"mod_identity\" value=\"撰稿人\">撰稿人"+ "<input type=\"radio\" name=\"mod_identity\" value=\"管理员\" checked=\"checked\">管理员" ); break; } out.println( "<br>"+ "<input type=\"hidden\" name=\"mod_id\" value="+ id +">"+ "<input type=\"submit\" value=\"修改\">" + "</form>" + "<body><html>" ); }catch (Exception e){ e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { } }
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/Admin4") public class Admin4 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); try { PrintWriter out = resp.getWriter(); int id = Integer.parseInt(req.getParameter("delete_id")); String title1 = "你确认删除此账号么,删除后不可撤销"; out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + title1 + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h2 align=\"center\">" + title1 + "</h2>\n" + "<form action=\"AdminDelete1\" method=\"POST\">" + "<input type=\"hidden\" name=\"delete_id_0\" value="+ id +">"+ "<input type=\"submit\" value=\"确认删除\">" + "</form>" + "<br><input type=\"button\" value=\"点击取消\" onclick=\"location.href='Admin3'\" />"+ "<body><html>" ); }catch (Exception e){ e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/AdminDelete1") public class AdminDelete1 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); DB db = new DB(); try { String id = req.getParameter("delete_id_0"); DaoCrud crud = new DaoCrud(); crud.DeleteName(Integer.parseInt(id)); String title1 = "删除成功!"; out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + title1 + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h2 align=\"center\">" + title1 + "</h2>\n" + "<form action=\"Admin2\" method=\"POST\">" + "<input type=\"submit\" value=\"点击返回\">" + "</form>" + "<body><html>" ); }catch (Exception e){ e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; @WebServlet("/AdminModify") public class AdminModify extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); //获取session // HttpSession hs = req.getSession(true); // String na = (String) hs.getAttribute("a_name"); // String value = (String) hs.getAttribute("pass"); // DB db = new DB(); //获取表单信息 String name_check =req.getParameter("mod_name"); String password_check =req.getParameter("mod_password"); String identity_check =req.getParameter("mod_identity"); String name = new String(req.getParameter("mod_name").getBytes("ISO8859-1"),"UTF-8"); String password = new String(req.getParameter("mod_password").getBytes("ISO8859-1"),"UTF-8"); String identity = new String(req.getParameter("mod_identity").getBytes("ISO8859-1"),"UTF-8"); int id = Integer.parseInt(req.getParameter("mod_id")); try { //检测内容是否为空 if(name_check==""||password_check==""||identity_check==""){ out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "失败" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "修改失败,不能为空" + "</h1>\n" + "<input type=\"button\" value=\"点击返回\" onclick=\"location.href='Admin2'\" />" ); }else { DaoCrud crud = new DaoCrud(); crud.UpdateName(name,password,identity,id); out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + "修改成功" + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + "修改成功" + "</h1>\n" + "<input type=\"button\" value=\"点击返回\" onclick=\"location.href='Admin2'\" />" ); } out.println("</body></html>"); }catch (Exception e){ e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { } }
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/Delete1") public class Delete1 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); try { PrintWriter out = resp.getWriter(); int id = Integer.parseInt(req.getParameter("delete_id")); String title1 = "你确认删除此新闻么,删除后不可撤销"; out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + title1 + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h2 align=\"center\">" + title1 + "</h2>\n" + "<form action=\"Delete2\" method=\"POST\">" + "<input type=\"hidden\" name=\"delete_id_0\" value="+ id +">"+ "<input type=\"submit\" value=\"确认删除\">" + "</form>" + "<br><input type=\"button\" value=\"点击取消\" onclick=\"location.href='Writer3'\" />"+ "<body><html>" ); }catch (Exception e){ e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override public void destroy() { } }
import Dao.DaoCrud; import com.DB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/Delete2") public class Delete2 extends HttpServlet { @Override public void init() throws ServletException { } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); DB db = new DB(); try { int id = Integer.parseInt(req.getParameter("delete_id_0")); DaoCrud crud = new DaoCrud(); crud.DeleteNews(id); String title1 = "删除成功!"; out.println("<!DOCTYPE html> \n" + "<html>\n" + "<head><title>" + title1 + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h2 align=\"center\">" + title1 + "</h2>\n" + "<form action=\"Writer3\" method=\"POST\">" + "<input type=\"submit\" value=\"点击返回\">" + "</form>" + "<body><html>" ); }catch (Exception e){ e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override public void destroy() { } }
作者:冰稀饭Aurora
出处:https://www.cnblogs.com/rsy-bxf150/p/17169979.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义