JavaWeb——新闻管理系统(Jsp+Servlet)之jsp新闻新增

news2024/9/28 21:19:24

 

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博客
 

NewsaddServlet.java

package comm.ch11_pra.servlet.news;

import comm.ch11_pra.entity.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;
import java.util.ArrayList;

@WebServlet(name = "newsaddServlet", value = "/newsaddServlet")
public class NewsaddServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);


    }

    @Override
    protected 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 add_title = request.getParameter("add_title");
            String add_author=request.getParameter("add_author");
            String add_content=request.getParameter("add_content");
            PreparedStatement ps=connection.prepareStatement("insert into news values (null,?,?,?,?)");
            ps.setString(1,add_title);
            ps.setString(2,add_author);
            ps.setString(3,add_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.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);
//            }
        }
    }
}

index.jsp 

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
  <title>JSP - Hello World</title>
</head>
<script>
  function news(){
    var form = document.getElementById("myForm");
    form.action = "newsServlet"
    form.submit();
  }
  function notice(){
    var form = document.getElementById("myForm");
    form.action = "noticeServlet"
    form.submit();
  }
  function media(){
    var form = document.getElementById("myForm");
    form.action = "mediaServlet"
    form.submit();
  }
  function video(){
    var form = document.getElementById("myForm");
    form.action = "videoServlet"
    form.submit();
  }

</script>


<body>
<form action="" id="myForm">
  <input type="button" value="新闻" onclick="news()">
  <input type="button" value="公告" onclick="notice()">
  <input type="button" value="媒体" onclick="media()">
  <input type="button" value="视频" onclick="video()">
</form>




</body>
</html>

news.jsp 

<%@ page import="comm.ch11_pra.entity.News" %>
<%@ page import="java.util.ArrayList" %><%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2023/12/23
  Time: 11:43
  To 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";
    }
</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>");
                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>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1363681.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring中事务控制的API介绍(PlatformTransactionManager和TransactionDefinition)

事务控制的API PlatformTransactionManager接口 作用&#xff1a;是一个事务管理器&#xff0c;负责开启、提交或回滚事务 实现类&#xff1a;DataSourceTransactionManager(sqlSession) 此接口是spring的事务管理器&#xff0c;它里面提供了我们常用的操作事务的方法…

生信 R语言

11.芯片表达矩阵下游分析 ​rm(list ls())#清除所有变量 options(stringsAsFactors F) #BiocManager::install("CLL") suppressPackageStartupMessages(library(CLL)) data("sCLLex") sCLLex ## ExpressionSet (storageMode: lockedEnvironment) ## as…

报错curl: (6) Could not resolve host: raw.githubusercontent...的解决办法

我起初想要在macOS系统安装pip包&#xff0c;首先在终端安装homebrew&#xff0c;敲了命令&#xff1a;/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent...)" 之后触发的报错&#xff0c;报错内容&#xff1a;curl: (6) Could not resolve host: raw.…

如何从 Android SD卡/存储卡中恢复删除的照片

虽然大多数摄影师和智能手机用户都非常喜欢在一张 存储卡上存储数千张照片的能力&#xff0c;但它也可能导致灾难性的数据丢失&#xff0c;而 存储卡照片恢复软件通常是唯一的解决方案。 但是&#xff0c;如果您不迅速采取行动并在图像被覆盖之前恢复图像&#xff0c;那么即使…

如何向嵌入式设备中添加tcpdump工具

说明&#xff1a;tcpdump是一个在网络设备调试中一个非常重要的工具&#xff0c;它并不像hexdump等工具集成在busybox里面&#xff0c;也不像其他的软件一样只需要依赖linux标准的库就可以实现&#xff0c;它需要pcap相关的库和加密的相关库。 本文主要是基于realtek 83系列的…

SpringBoot+Redis实现接口防刷功能

场景描述&#xff1a; 在实际开发中&#xff0c;当前端请求后台时&#xff0c;如果后端处理比较慢&#xff0c;但是用户是不知情的&#xff0c;此时后端仍在处理&#xff0c;但是前端用户以为没点到&#xff0c;那么再次点击又发起请求&#xff0c;就会导致在短时间内有很多请求…

《路由与交换技术》---简答题

1、什么是STP&#xff1f;解决什么问题&#xff1f; STP代表生成树协议&#xff08;Spanning Tree Protocol&#xff09;。它是用于在计算机网络中解决环路问题的一种协议。 STP的主要目标是消除环路&#xff0c;保持网络的稳定性和可靠性&#xff0c;同时提供冗余路径以实现网…

批量删除文件名的空格,一键清理让文件名中的空格去无踪

我们每天都会创建、下载、重命名很多文件&#xff0c;在文件的重命名过程中&#xff0c;我们会不自觉地在文件名中加入空格&#xff0c;这些看似无害的空格&#xff0c;在某些情况下&#xff0c;却可能引发诸多不便。例如&#xff0c;在某些软件或操作系统中&#xff0c;空格可…

【Java】设计模式之保护性暂停

设计模式之保护性暂停 Guarded Suspension&#xff0c;这个设计模式&#xff0c;主要用在一个线程等待另一个线程的执行结果&#xff08;发请求等待响应&#xff09; 有一个结果需要从一个线程传递到另一个线程&#xff0c;传递只进行一次&#xff0c;用设计模式保护性暂停。 …

使用pagehelper插件进行分页查询

一、导入mybatis和pagehelper坐标 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version> </dependency> <dependency><groupId&…

项目管理进阶之PDCA

前言 项目管理进阶系列&#xff0c;今天开始发布第一篇喽。 博主其实一直在构思&#xff0c;如何开启这个系列&#xff0c;但是我们通常项目管理讲的“五大过程十大领域”&#xff0c;往往太书面了。因此尝试从中抓取几个核心&#xff0c;以供有志之士参考。 那么&#xff0c…

史诗级长文--决策树

决策树 决策树(decision tree)是一种基本的分类与回归方法。 举个通俗易懂的例子&#xff0c;如下图所示的流程图就是一个决策树&#xff0c;长方形代表判断模块(decision block)&#xff0c;椭圆形成代表终止模块(terminating block)&#xff0c;表示已经得出结论&#xff0c;…

基于商品列表的拖拽排序后端实现

目录 一&#xff1a;实现思路 二&#xff1a;实现步骤 二&#xff1a;实现代码 三&#xff1a;注意点 一&#xff1a;实现思路 后台实现拖拽排序通常需要与前端进行配合&#xff0c;对商品的列表拖拽排序&#xff0c;前端需要告诉后端拖拽的元素和拖动的位置。 这里我们假…

Java多线程技术11——ThreadPoolExecutor类的使用1

1 概述 ThreadPoolExecutor类可以非常方便的创建线程池对象&#xff0c;而不需要程序员设计大量的new实例化Thread相关的代码。 2 队列LinkedBlockingQueue的使用 public class Test1 {public static void main(String[] args) {LinkedBlockingQueue queue new LinkedBlocki…

Activity启动流程

早就想写这个笔记用于记录这段知识&#xff0c;但是碍于太过庞大所以始终没有进行这段知识的整理 很多博客喜欢画一个时序图展示所有的流程&#xff0c;但是过于庞大&#xff0c;看起来有点吃力&#xff0c;这里我们画多个时序图来展示这个流程 1.app请求AMS启动Activity 在前…

特征工程筛选重要变量

特征筛选主要分为3个方法&#xff1a;过滤法、嵌入法&#xff08;经典的一些树模型比如xgboost&#xff09;、包裹法&#xff08;经典的RFECV&#xff0c;RFE递归特征消除法&#xff09; 过滤法更快速&#xff0c;但更粗糙。 包装法和嵌入法更精确&#xff0c;比较适合具体到算…

P1262 间谍网络

1、思路 阅读题目&#xff0c;发现有些间谍可以是被前面的点更新&#xff0c;也就是说&#xff0c;在一开始的时候&#xff0c;把能贿赂的人员从小到达排个序&#xff0c;再使用bfs算法&#xff0c;把他们能到达的人员的贿赂价钱设置为0。 有解的情况&#xff1a; 首先如果有…

JavaScript:Date 对象-时间日期

Date 对象-时间日期: - JS中所有的关于时间信息都需要通过Date对象来表示 // 创建一个Date对象 // 如果直接使用new Date()创建时间对象&#xff0c;它会默认创建一个表示代码执行时刻的对象var d new Date();// 如果希望创建一个指定的时间的Date的对象&#xff0c;需要传递…

python总结-装饰器

装饰器 装饰器解决日志问题&#xff08;分三个版本&#xff09;多个装饰器带参数的装饰器wraps装饰器内置装饰器property装饰器staticmethod装饰器classmethod装饰器 类装饰器缓存装饰器和计时装饰器综合练习 概念 装饰器来自 Decorator 的直译。什么叫装饰&#xff0c;就是装点…

【tkinter 电子时钟 实现时间日期 可实现透明 无标题栏】

下面是一个使用tkinter实现的简单的电子时钟&#xff0c;包括时间和日期的显示。该窗口是透明的&#xff0c;没有标题栏。 效果&#xff1a; import tkinter as tk from datetime import datetimedef update_time():now datetime.now()time_label.configure(textnow.strftim…