JavaEE-博客系统2(功能设计)

news2024/12/26 22:38:58

本部分内容:实现博客列表页;web程序问题的分析方法;实现博客详情页;




在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
该部分的代码如下:

@WebServlet("/blog")
public class BlogServlet extends HttpServlet {
    //Jackson ObjectMapper类(com.fasterxml.jackson.databind.ObjectMapper)解析JSON工具
    //
    //序列化:      Java对象生成Json
    //
    //反序列化:  Json解析为Java对象
    private ObjectMapper objectMapper=new ObjectMapper();
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        BlogDao blogDao=new BlogDao();
        List<Blog> blogs =blogDao.getblogs();
        String respJson=objectMapper.writeValueAsString(blogs);
        resp.setContentType("application/json;charset=utf8");
        resp.getWriter().write(respJson);
    }

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


上述过程中的一些疑问
在这里插入图片描述
这部分的运行效果图如下:

在这里插入图片描述




在这里插入图片描述
在这里插入图片描述
在这里插入图片描述




在这里插入图片描述
在这里插入图片描述
修改后的BlogServlet.java代码如下:

package api;

import Dao.Blog;
import Dao.BlogDao;
import com.fasterxml.jackson.databind.ObjectMapper;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Home-pc
 * Date: 2023-10-28
 * Time: 16:56
 */
@WebServlet("/blog")
public class BlogServlet extends HttpServlet {
    //Jackson ObjectMapper类(com.fasterxml.jackson.databind.ObjectMapper)解析JSON工具
    //
    //序列化:      Java对象生成Json
    //
    //反序列化:  Json解析为Java对象
    private ObjectMapper objectMapper=new ObjectMapper();
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        BlogDao blogDao=new BlogDao();
        //尝试获取blogId这个参数,根据是否能获取到这个参数,将其进行分支
        String blogId=req.getParameter("blogId");
        if(blogId==null){
            //说明此处是需要获取博客列表
            List<Blog> blogs =blogDao.getblogs();
            String respJson=objectMapper.writeValueAsString(blogs);
            resp.setContentType("application/json;charset=utf8");
            resp.getWriter().write(respJson);
        }else{
            //说明此处要获得某篇博客的详情页 获取一篇博客
            Blog blog=blogDao.getblog(Integer.parseInt(blogId));
            //如果该篇博客不存在,那么此时的blog==null
            if(blog==null){
                blog=new Blog();
            }
            String respJson=objectMapper.writeValueAsString(blog);
            resp.setContentType("application/json;charset=utf8");
            resp.getWriter().write(respJson);
        }
    }
}

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

吴恩达《机器学习》6-1->6-3:分类问题、假设陈述、决策界限

一、什么是分类问题&#xff1f; 在分类问题中&#xff0c;我们试图预测的变量&#x1d466;是离散的值&#xff0c;通常表示某种类别或标签。这些类别可以是二元的&#xff0c;也可以是多元的。分类问题的示例包括&#xff1a; 判断一封电子邮件是否是垃圾邮件&#xff08;二…

软件测试工作流程

流程体系介绍 在以往的项目工作中&#xff0c;我参与过&#xff0c;需求评审、测试计划制定、测试用例编写、测试用例执行、测试脚本编写、测试脚本的执行&#xff0c;进行回归测试、验收测试、编写阶段性测试报告等工作 需求分析&#xff0c;需求评审&#xff08;RPD、产品原…

基于单片机的车载太阳能板自动跟踪系统研究

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、总体设计开发流程二、机械结构设计与研究3.1 机械系统总体设计3.1.1 太阳能板折叠传动 三、太阳能自动跟踪系统硬…

chrome插件开发:popup.html 页面获取当前页面【当前视窗】的url

chrome插件开发&#xff1a;popup.html 页面获取当前页面【当前视窗】的url 开发前的准备 在manifest页面配置上 tabs 权限&#xff0c;否则无法使用tabs接口权限 {"name": "My extension",..."permissions": ["tabs"],... }参考手…

【Linux】第十二站:进程

文章目录 1.windows和linux中的进程2.先描述3.在组织4.具体的Linux系统是如何做的&#xff1f;1.基本概念2.描述进程-PCB3.task_struct和PCB的关系4.task_struct内容分类5.linux具体如何做的&#xff1f;6.查看进程 1.windows和linux中的进程 一个已经加载到内存的程序&#xf…

python获取电脑所连接的wifi密码

电脑连接wifi后&#xff0c;很难直观地看到当前连接wifi的密码&#xff0c;需要借助命令行公管局才可以查看到相关信息。 CMD命令 查看所有已保存的wifi配置信息 netsh wlan show profiles查看某一个wifi的详细信息&#xff0c;需要输入wifi名称来查询 netsh wlan show pro…

小户型工业风,陌生上开花知书香。福州中宅装饰,福州装修

漫步陌上 只因陌上花开 花是自然的那种 朴素而恬淡&#xff0c;不落尘俗。—徐志摩 小户型工业风格 满足业主需求 筑造书香押韵家 从动线、色彩、选材、定制等各个环节 与业主一起畅谈家的构造 形成别“居”一格的温暖品质家 以书做墙 告别电视墙 这是一个实用性很强的…

鲜花展示预约小程序的内容有有哪些

鲜花店市场规模非常高&#xff0c;一方面是鲜花的用途广泛且需求量增加&#xff0c;另一方面则是入行门槛低&#xff0c;很多城市一条街就有可能汇聚了多家门店&#xff0c;尤其是节假日&#xff0c;对客流量高的门店则更加考验&#xff0c;如花束选购预约、信息展示及客户咨询…

D-Link管理系统默认账号密码

默认口令为 admin:admin 登陆成功 文笔生疏&#xff0c;措辞浅薄&#xff0c;望各位大佬不吝赐教&#xff0c;万分感谢。 免责声明&#xff1a;由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c; 文章…

【Mybatis小白从0到90%精讲】11:Mybatis批量插入 batchInsert

文章目录 前言foreach批量插入前言 在实际开发中,我们经常需要批量插入大量数据到数据库中,而MyBatis也提供了批量插入的支持,可以大大提高插入效率。 今天要分享的是 工作中常用的在Mapper中使用foreach标签批量插入数据的方式,比在Java代码中循环调用Mapper的单条插入性…

【动手学深度学习】课程笔记 05-07 线性代数、矩阵计算和自动求导

05 线性代数 1. 基础知识补充 向量相关 矩阵相关 简单来说&#xff0c;范数是用来衡量矩阵&#xff08;张量&#xff09;大小的值&#xff0c;范数的值有不同的规定。 2. 代码实现 仅记录一些我比较陌生的知识。 张量的克隆 A torch.arange(20, dtypetorch.float32).resh…

【JAVA学习笔记】62 - 坦克大战1.2,我方发射子弹(可存在多个)

在坦克大战游戏(1.1版)基础上添加如下功能:当玩家按一下j键&#xff0c;就发射颗子弹。 个人思路&#xff0c;考虑创建bullet类&#xff0c;因为将来我们的坦克可以射出乱七八糟的子弹。定义大小&#xff0c;颜色&#xff0c;方向&#xff0c;速度&#xff0c;改变子弹位置应当…

Putty连接服务器后弹出Network error: Software caused connection abort

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

逆向学习记录(3)工具介绍jadx、gda和jeb

1、jadx 下载地址如下&#xff0c;目前最新版本为v1.4.7&#xff0c;改成想要下载的版本号就能下载对应的版本。 https://github.com/skylot/jadx/releases/tag/v1.4.7 下载后解压&#xff0c;进入对应路径的bin文件夹内&#xff0c;运行jadx-gui.bat。 2、gda 下载地址和gi…

1、Kubernetes简介

一、k8s 集群部署 1、k8s 快速入门 1&#xff09;、简介 Kubernetes 简称 k8s。是用于自动部署&#xff0c;扩展和管理容器化应用程序的开源系统。 中文官网&#xff1a;https://kubernetes.io/zh/ 中文社区&#xff1a;https://www.kubernetes.org.cn/ 官方文档&#xff1a;ht…

MATLAB_双馈风力发电机-900V直流混合储能并网系统MATLAB仿真

仿真平台为&#xff1a;matlab2016b 双馈感应风机模块、采用真实风速数据。混合储能模块、逆变器模块、转子过电流保护模块、整流器控制模块、逆变器控制模块等模块。 下图分别为母线直流电压以及有功无功输出&#xff1a; 混合储能系统——蓄电池以及超级电容的SOC为&#x…

黑猫带你学NandFlash第3篇:NAND寻址(行列地址和block/page/LUN之间的关系)

本文依据不同型号NandFlash spec及个人工作经验整理而成,如有错误请留言。 文章为付费内容,已加入原创侵权保护,禁止私自转载及抄袭。 文章所在专栏:《黑猫带你学:NandFlash详解》 本文大约2000字,主要讲解:nand flash如何物理寻址、多plane又是如何寻址、相关计算公式等…

Java 中文字符串输出乱码

Java 中文字符串输出乱码 1、IDE和系统控制台编码格式2、设置标准输出编码 1、IDE和系统控制台编码格式 Java 中文字符串输出乱码 问题是由于代码格式和输出控制台的编码格式不同造成的。 一般代码文件都是推荐使用UTF-8格式&#xff08;默认&#xff09;&#xff0c;此时在中文…

AI 绘画 | Stable Diffusion 图生图

图生图简介 Stable Diffusion 不仅可以文生图&#xff0c;还可以图生图。文生图就是完全用提示词文本去生成我们想要图片&#xff0c;但是很多时候会有词不达意的感觉。就像我们房子装修一样&#xff0c;我们只是通过文字描述很难表达出准确的想要的装修效果&#xff0c;如果能…