基于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日

相关文章

  • SpringBoot spring.factories加载时机分析

    在SpringBoot中,spring.factories文件是一种特定的配置文件,用于向Spring容器中加载自定义的配置类或者自动配置组件。 什么是SpringBoot spring.factories文件 spring.factories文件位于META-INF目录下,它是SpringBoot用来实现自动配置的一个重要组件。该文件被用于对Spring加…

    Java 2023年5月31日
    00
  • 浅析java程序入口main()方法

    下面是“浅析java程序入口main()方法”的完整攻略。 1.背景 Java程序的入口是main()方法。main()方法是Java程序的起点,它是程序执行的第一个方法,也是程序的控制中心。在Java程序中,main()方法必须被声明为public static void类型。下面对main()方法的各项要素进行详细介绍。 2.main()方法要素 2.1…

    Java 2023年5月23日
    00
  • 用intellij Idea加载eclipse的maven项目全流程(图文)

    以下是详细讲解“用IntelliJ Idea加载Eclipse的Maven项目全流程”的完整攻略。 步骤1:安装IntelliJ Idea 首先,需要在本地安装IntelliJ Idea,如果还没有安装,请官网下载并安装。 步骤2:打开IntelliJ Idea 安装完成后,打开IntelliJ Idea,点击菜单中的“Import Project” 步骤3…

    Java 2023年5月20日
    00
  • Spring Security入门demo案例

    下面是Spring Security入门demo案例的完整攻略。 一、前置知识 在开始学习Spring Security入门demo案例之前,你需要具备以下一些基础知识: 基本的Java编程语言和Spring框架的了解; 熟悉Spring MVC框架的开发以及相关的Maven工程构建方式。 二、Spring Security简介 Spring Securit…

    Java 2023年5月20日
    00
  • Java实现ATM取款机程序

    下面我将为您详细讲解Java实现ATM取款机程序的完整攻略。整个过程可以分为三部分:1.创建账户;2.登录账户;3.执行取款操作。 1. 创建账户 首先,我们需要定义一个Account类,包括属性:账号、密码、余额等。代码如下: public class Account { private String accountNumber; // 账号 privat…

    Java 2023年5月23日
    00
  • Java操作数据库(行级锁,for update)

    Java操作数据库是程序开发中的一个重要环节,而行级锁(Row-level locking)则是在多用户并发访问时用于保护数据库数据完整性和一致性的一种技术。在Java操作数据库中使用for update可以加上行级锁,保证数据在操作时是唯一的。 以下是Java操作数据库(行级锁,for update)的完整攻略: 1. 前置条件 使用Java语言进行编程 …

    Java 2023年5月19日
    00
  • 详解JDBC使用

    详解JDBC使用 什么是JDBC? Java Database Connectivity(JDBC)是Java编程语言用于执行与关系数据库的连接和访问的标准API。 JDBC的使用步骤 JDBC的使用步骤通常为以下5步: 加载JDBC驱动程序 创建数据库连接 创建Statement对象 执行SQL语句 处理结果 下面将会逐一讲解这5个步骤。 1. 加载JDB…

    Java 2023年6月15日
    00
  • tomcat相关配置与eclipse集成_动力节点Java学院整理

    tomcat相关配置与eclipse集成攻略 1. 确认tomcat安装路径 在配置tomcat与eclipse集成前,需要先确认tomcat安装的路径。假设我们的tomcat安装在D盘的tomcat目录下。 2. 在eclipse中配置tomcat 将tomcat服务器添加到eclipse中:打开eclipse,依次点击“Window” -> “Pr…

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