基于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 中的Null-Safety

    深入浅析Spring 中的Null-Safety 简介 Null-Safety 是指在编程中对于空值(null)的处理,既避免了空指针异常,也提高了程序的健壮性和可维护性。在 Spring 中,Null-Safety 被广泛应用于各种场景,包括依赖注入、AOP 等等。本文将深入浅析 Spring 中的 Null-Safety,包括其原理、实现方法和示例。 原…

    Java 2023年5月31日
    00
  • JAVA JNI原理详细介绍及简单实例代码

    先来介绍一下什么是JNI。 JNI,全称为Java Native Interface,即Java本地接口,是一个开发工具包,提供了一种使Java代码和本地代码(C、C++等)交互的机制。 开发者可以使用JNI将本地的代码嵌入到Java应用程序中,从而充分发挥本地代码的性能,是Java与本地代码的桥梁。 下面我来分步骤详细讲解“JAVA JNI原理详细介绍及简…

    Java 2023年5月23日
    00
  • Asp.net FileUpload+Image制作头像效果示例代码

    我们来详细讲解一下“ASP.NET FileUpload+Image制作头像效果示例代码”的完整攻略。 概述 首先,我们需要了解一些基本的概念。在 ASP.NET 中,我们可以使用 FileUpload 控件来接收用户上传的文件,使用 Image 控件来展示上传的图片。一般来说,用户上传头像时,我们需要对其进行剪裁、压缩等操作,以获得更好的用户体验。 第一步…

    Java 2023年5月19日
    00
  • 使用Spring Boot+MyBatis框架做查询操作的示例代码

    接下来我将为您分享使用Spring Boot+MyBatis框架进行查询操作的攻略。 1. 环境搭建 首先,需要配置好开发环境,包括Java环境和IDE工具。具体操作可以参考相关网上教程。 然后需要添加Spring Boot和MyBatis的依赖,这里以Maven为例,可以在pom.xml文件中添加以下代码实现依赖的导入: <dependencies&…

    Java 2023年5月20日
    00
  • WebService教程详解(一)

    “WebService教程详解(一)”是一篇关于Web服务的教程。本文的内容主要包括以下几部分: 一、Web服务简介 这一部分介绍了Web服务的概念和原理。其中,Web服务是指在Web上使用标准化协议进行通信的应用程序。Web服务的原理是通过HTTP协议进行通信,使用XML格式进行数据交换。 二、Web服务的类型 这一部分介绍了Web服务的四种类型:SOAP…

    Java 2023年5月26日
    00
  • Java简易登录注册功能实现代码解析

    让我们来详细讲解“Java简易登录注册功能实现代码解析”的完整攻略: 1. 准备工作 在开始实现登录注册代码前,我们需先准备好以下工具: JDK Eclipse MySQL(或其他数据库) 在这个攻略中,我们将采用MySQL数据库,并利用Java的JDBC(Java Database Connectivity)驱动程序来连接数据库。 2. 登录功能的实现 2…

    Java 2023年6月15日
    00
  • 详细解读Java的串口编程

    详细解读Java的串口编程 什么是串口 串口是一种计算机外部设备与计算机通信的接口标准,它通过串口线连接计算机和设备,在数据传输时通过线上的电压变化来进行信息传递。 Java中实现串口编程 导入rxtxcomm.jar和win32com.dll两个文件,这两个文件提供了Java访问串口的接口。在导入了这两个文件之后,就可以在Java程序中访问串口了。 使用S…

    Java 2023年5月26日
    00
  • jsp下页面跳转的几种方法小结

    JSP下页面跳转的几种方法小结 1. 概述 在开发JSP应用程序的过程中,页面跳转是经常需要用到的功能。本文将介绍JSP下页面跳转的几种方法,包括: 使用超链接跳转 使用表单提交数据并跳转 使用Java中的Response对象实现跳转 使用Java中的RequestDispatcher对象实现跳转 2. 使用超链接跳转 超链接跳转是最常用的方法之一,在HTM…

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