java-ee项目结构设计
1.dao:对数据库的访问,实现了增删改查
2.entity:定义了新闻、评论、用户三个实体,并设置对应实体的属性
3.filter:过滤器,设置字符编码都为utf8,防止乱码出现
4.service:业务逻辑处理
5.servlet:处理页面请求
6.utils:工具类
7.c3p0-config.xml:JDBC配置
JavaWeb新闻管理系统(基础版)-腾讯云开发者社区-腾讯云
https://www.cnblogs.com/luomei/p/13124130.htmlJSP显示新闻
Java Jsp+mysql实现新闻发布管理系统(新闻管理、栏目/评论管理、)_jsp项目案例:新闻发布系统—主题管理及首页新闻显示-CSDN博客
NewsUpdateServlet.java
package comm.ch11_pra.servlet.news;import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.text.SimpleDateFormat;@WebServlet( value = "/newsUpdateServlet")
public class NewsUpdateServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html; charset=UTF-8");PrintWriter out = response.getWriter();out.println("财院新闻");Connection connection = null;Statement st = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/ch11?characterEncoding=utf-8","root", "123456");String update_id= request.getParameter("update_id");String update_title = request.getParameter("update_title");String update_author=request.getParameter("update_author");String update_content=request.getParameter("update_content");PreparedStatement ps=connection.prepareStatement("update news set title=?,author=?,content=? ,date=? where id=?");ps.setString(1,update_title);ps.setString(2,update_author);ps.setString(3,update_content);SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date1 = new Date(System.currentTimeMillis());String currentTime = dateFormat.format(date1);ps.setString(4,currentTime);ps.setString(5,update_id);ps.executeUpdate();response.sendRedirect("newsServlet");} catch (Exception e) {throw new RuntimeException(e);}finally {
// try {
// connection.close();
// st.close();
// rs.close();
// } catch (Exception e) {
// throw new RuntimeException(e);
// }}}
}
news.jsp
<%@ page import="comm.ch11_pra.entity.News" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="com.fasterxml.jackson.databind.ObjectMapper" %><%--Created by IntelliJ IDEA.User: AdministratorDate: 2023/12/23Time: 11:43To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<script>function addModelShow(){document.getElementsByName("add_title")[0].value="";document.getElementsByName("add_author")[0].value="";document.getElementsByName("add_content")[0].value="";var addModel=document.getElementById("addModel");addModel.style.display="block";}function addModelClose(){var addModel=document.getElementById("addModel");addModel.style.display="none";}function deleteNews(id){if(confirm("确认删除id为"+id+"该条数据吗?")){window.location.href="newsDeleteServlet?id="+id;}}function updateModelShow(news_json){document.getElementsByName("update_id")[0].value=news_json.id;document.getElementsByName("update_title")[0].value=news_json.title;document.getElementsByName("update_author")[0].value=news_json.author;document.getElementsByName("update_content")[0].value=news_json.content;var updateModel=document.getElementById("updateModel");updateModel.style.display="block";}function updateModelClose(){var updateModel=document.getElementById("updateModel");updateModel.style.display="none";}
</script><body>
<%ArrayList<News> news_list = (ArrayList<News>) request.getAttribute("news_list");
%>
<form action="newsServlet">标题:<input type="text" name="search_title">作者:<input type="text" name="search_author">内容:<input type="text" name="search_content"><input type="submit" value="查询">
</form>
<input type="button" value="新增" onclick="addModelShow()">
<table border="1"><tr><th>id</th><th>title</th><th>author</th><th>content</th><th>date</th></tr><%if(news_list!=null){for(News news : news_list){out.print("<tr>");out.print("<td>" + news.getId() + "</td>");out.print("<td>" + news.getTitle() + "</td>");out.print("<td>" + news.getAuthor() + "</td>");out.print("<td>" + news.getContent() + "</td>");out.print("<td>" + news.getDate() + "</td>");ObjectMapper mapper = new ObjectMapper();String news_json = mapper.writeValueAsString(news);out.print("<td>" +"<input type='button' value='删除' onclick='deleteNews("+news.getId()+")'>"+"<input type='button' value='修改' onclick='updateModelShow("+news_json+")'>"+"</td>");out.print("</tr>");}}%>
</table>
<div id="addModel" style="display: none;position: absolute;top: 40%;left: 45%;border: 2px dashed #f00;padding: 10px"><div><span style="margin-left: 70px">新增新闻</span><div style="float: right" onclick="addModelClose()">X</div></div><form action="newsaddServlet">标题:<input type="text" name="add_title"><br>作者:<input type="text" name="add_author"><br>内容:<input type="text" name="add_content"><br><input type="submit" value="确认"></form></div>
<div id="updateModel" style="display: none;position: absolute;top: 40%;left: 45%;border: 2px dashed #f00;padding: 10px"><div><span style="margin-left: 70px">修改新闻</span><div style="float: right" onclick="updateModelClose()">X</div></div><form action="newsUpdateServlet"><input type="text" name="update_id" style="display: none">标题:<input type="text" name="update_title"><br>作者:<input type="text" name="update_author"><br>内容:<input type="text" name="update_content"><br><input type="submit" value="确认"></form></div>
</body>
</html>
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>comm</groupId><artifactId>ch11_pra</artifactId><version>1.0-SNAPSHOT</version><name>ch11_pra</name><packaging>war</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.source>1.8</maven.compiler.source><junit.version>5.9.1</junit.version></properties><dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.15.1</version></dependency></dependencies>
</project>