基于jsp实现新闻管理系统 附完整源码

基于JSP实现新闻管理系统攻略

介绍

本攻略将会介绍如何使用JSP(Java Server Pages)实现一个简单的新闻管理系统,并提供完整的源码。

使用JSP是因为它可以将Java代码和HTML标记混合在同一个页面中,同时也可以使用标准的Java类库和框架。

开始

  1. 首先,搭建一个Java Web开发环境,如Tomcat。确保你已经会使用Eclipse或者IntelliJ IDEA等Java开发工具。
  2. 创建一个新的Java Web项目。
  3. 在项目中创建以下文件夹:
  4. WEB-INF: 存放JSP页面和在web.xml文件中定义的配置文件。
  5. src: 存放Java源代码。
  6. lib: 存放依赖的第三方Java库。
  7. 在src目录下创建一个名为News.java的Java类,用于代表新闻对象并存储到数据库中。以下是示例代码:
public class News {
    private int id;
    private String title;
    private String content;
    private Date date;

    public News(int id, String title, String content, Date date) {
        this.id = id;
        this.title = title;
        this.content = content;
        this.date = date;
    }

    // getter 和 setter 方法省略...
}
  1. 连接数据库

src文件夹下创建DBManager.java文件,用于连接数据库。以下是一个简单的示例:

public class DBManager {
    private final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    private final String DB_URL = "jdbc:mysql://localhost:3306/news";
    private final String USER = "username";
    private final String PASSWORD = "password";

    public Connection getConnection() throws SQLException, ClassNotFoundException {
        Class.forName(JDBC_DRIVER);
        Connection conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
        return conn;
    }

    // 关闭数据库连接,省略...
}
  1. 创建JSP页面

WEB-INF目录下创建index.jsp文件,用于显示新闻列表。

为此需要在项目中添加mysql-connector-java.jar文件,这个文件可以在官网下载。

以下是一个简单的示例:

<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%@ page import="java.sql.*" %>      
<%@ page import="java.util.*" %>      
<%@ page import="com.example.News" %>  
<html>
<head>
    <title>新闻管理</title>
</head>
<body>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>标题</th>
            <th>日期</th>
            <th>操作</th>
        </tr>
        <% 
        DBManager db = new DBManager();
        Connection conn = db.getConnection();
        PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM news");
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) { %>      
        <tr>
            <td><%= rs.getInt("id") %></td>
            <td><%= rs.getString("title") %></td>
            <td><%= rs.getDate("date") %></td>
            <td><a href="edit.jsp?id=<%= rs.getInt("id") %>">编辑</a></td>
        </tr>
        <% } %>
    </table>
</body>
</html>
  1. 添加新闻

WEB-INF目录下继续创建add.jsp文件,用于添加新闻。以下是一个示例:

<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%@ page import="java.sql.*" %>      
<%@ page import="java.util.*" %>      
<%@ page import="com.example.News" %> 
<html>
<head>
    <title>添加新闻</title>
</head>
<body>
    <form action="news.jsp?action=add" method="post">
        <label for="title">标题:</label>
        <input type="text" name="title" id="title"><br>

        <label for="content">内容:</label>
        <textarea name="content" id="content"></textarea><br>

        <input type="submit" name="submit" value="保存">
    </form>
</body>
</html>

news.jsp文件中添加以下代码,用于处理添加新闻的逻辑:

String action = request.getParameter("action");
if (action != null && action.equals("add")) {
    String title = request.getParameter("title");
    String content = request.getParameter("content");

    DBManager db = new DBManager();
    Connection conn = db.getConnection();
    PreparedStatement pstmt = conn.prepareStatement("INSERT INTO news(title, content, date) VALUES(?, ?, ?)");
    pstmt.setString(1, title);
    pstmt.setString(2, content);
    pstmt.setDate(3, new java.sql.Date(new Date().getTime()));
    pstmt.executeUpdate();

    response.sendRedirect("index.jsp");
}
  1. 编辑新闻

WEB-INF目录下继续创建edit.jsp文件,用于编辑新闻。以下是一个示例:

<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%@ page import="java.sql.*" %>      
<%@ page import="java.util.*" %>      
<%@ page import="com.example.News" %>  
<html>
<head>
    <title>编辑新闻</title>
</head>
<body>
  <% 
  int id = Integer.parseInt(request.getParameter("id"));

  DBManager db = new DBManager();
  Connection conn = db.getConnection();
  PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM news WHERE id = ?");
  pstmt.setInt(1, id);
  ResultSet rs = pstmt.executeQuery();
  rs.next();
  News news = new News(rs.getInt("id"), rs.getString("title"), rs.getString("content"), rs.getDate("date"));
  %>

  <form action="news.jsp?action=update" method="post">
    <input type="hidden" name="id" value="<%= news.getId() %>">

    <label for="title">标题:</label>
    <input type="text" name="title" value="<%= news.getTitle() %>" id="title"><br>

    <label for="content">内容:</label>
    <textarea name="content" id="content"><%= news.getContent() %></textarea><br>

    <input type="submit" name="submit" value="保存">
  </form>
</body>
</html>

news.jsp文件中添加以下代码,用于处理更新新闻的逻辑:

String action = request.getParameter("action");
if (action != null && action.equals("update")) {
    int id = Integer.parseInt(request.getParameter("id"));
    String title = request.getParameter("title");
    String content = request.getParameter("content");

    DBManager db = new DBManager();
    Connection conn = db.getConnection();
    PreparedStatement pstmt = conn.prepareStatement("UPDATE news SET title = ?, content = ? WHERE id = ?");
    pstmt.setString(1, title);
    pstmt.setString(2, content);
    pstmt.setInt(3, id);
    pstmt.executeUpdate();

    response.sendRedirect("index.jsp");
}

样例说明

示例1:添加新闻

在浏览器中输入http://localhost:8080/项目名/add.jsp,即可进入添加新闻页面。输入新闻标题和内容,点击保存即可在数据库中添加一条新闻。

示例2:编辑新闻

在浏览器中输入http://localhost:8080/项目名/index.jsp,即可进入新闻列表页面。点击编辑按钮进入编辑页面,输入新闻标题和内容,点击保存即可在数据库中更新当前新闻。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于jsp实现新闻管理系统 附完整源码 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Spring Security基本架构与初始化操作流程详解

    Spring Security基本架构与初始化操作流程详解 什么是Spring Security Spring Security是一个基于Spring框架的安全解决方案,主要解决应用程序的认证和授权问题。它提供了一整套安全服务,并可在Web请求级和方法调用级处理身份验证和授权。 Spring Security基本架构 Spring Security的基本架构…

    Java 2023年5月20日
    00
  • 用Java实现简单计算器功能

    下面是用Java实现简单计算器功能的完整攻略。 1. 准备工作 在开始之前,你需要安装Java开发环境(JDK)并确保其能够正常运行。除此之外,你还需要对基本的Java语法有一定的了解。 2. 实现过程 2.1 创建一个计算器类 首先,我们需要创建一个计算器类,用于存储计算器的属性和方法。在这个类中,我们需要定义两个私有属性num1和num2,表示计算器中要…

    Java 2023年5月18日
    00
  • Servlet开发JavaWeb工程示例详解

    下面是关于“Servlet开发JavaWeb工程示例详解”的完整攻略: 1. 准备工作 在开始 Servlet 的开发之前,需要做一些准备工作: 安装 JDK 安装 Tomcat 配置环境变量 JDK 的安装和环境变量的配置这里就不再赘述,大家可以自行搜索相关教程进行操作。 Tomcat 的安装可以从官网下载对应版本的压缩包并解压,或者使用包管理器进行安装。…

    Java 2023年6月15日
    00
  • java实现连接mysql数据库单元测试查询数据的实例代码

    Java是一个广泛使用的编程语言,MySQL是一种流行的开源关系型数据库。在Java应用程序中连接MySQL数据库是一个常见的任务。单元测试是一种测试方法,用于确保代码的正确性。下面是一些步骤和示例代码,用于在Java中连接MySQL数据库并编写单元测试来查询数据。 步骤一:安装并配置MySQL数据库 首先需要安装MySQL数据库,并创建一个或多个数据库和表…

    Java 2023年5月19日
    00
  • 使用spring框架中的组件发送邮件功能说明

    使用Spring框架中的组件发送邮件功能说明 Spring框架提供了非常方便的邮件发送组件,通过简单的配置就可以实现邮件发送的功能,本文将详细讲解如何使用Spring框架中的组件发送邮件。 步骤1:添加依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework<…

    Java 2023年5月19日
    00
  • Spring Boot中使用Spring-data-jpa实现数据库增删查改

    下面是关于“Spring Boot中使用Spring-data-jpa实现数据库增删查改”的完整攻略,包括以下内容: 前置条件 引入依赖 创建实体类 创建Repository接口 使用Repository接口实现数据库的增删查改 示例1:新增数据 示例2:查询数据 1. 前置条件 在使用Spring-data-jpa实现数据库操作之前,需要保证本地环境已经安…

    Java 2023年5月20日
    00
  • IntelliJ IDEA2021.1 配置大全(超详细教程)

    IntelliJ IDEA是一款非常优秀的Java开发工具,大大提高了开发效率,但是初次使用可能会遇到各种问题,因此我们编写了IntelliJ IDEA2021.1配置的超详细教程,帮助您快速上手。 1. 下载与安装 首先需要下载安装IntelliJ IDEA,您可以通过官网(https://www.jetbrains.com/idea/download/)…

    Java 2023年5月20日
    00
  • SpringBoot数据层处理方案精讲

    Spring Boot是一个流行的Java框架,可以帮助开发人员更加高效地构建和部署应用程序。在Spring Boot中,数据层处理是非常重要的一部分,它可以帮助我们管理和操作数据。在本文中,我们将详细讲解Spring Boot数据层处理方案的精髓。 数据层处理方案 在Spring Boot中,数据层处理方案通常包括以下几个方面: 数据库访问:Spring …

    Java 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部