学习 Servlet 与老年人评估系统的业务逻辑03

深入学习 checkplan 类业务逻辑

  1. 从请求中获取参数
    在 checkplan 类(通常是一个 Servlet)中,我们可以使用 HttpServletRequest 对象来获取客户端请求中携带的参数。HttpServletRequest 提供了多个方法来获取参数,最常用的是 getParameter 方法。
    以下是一个示例代码片段,展示如何从请求中获取名为 planId 的参数
    `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;

@WebServlet("/checkplan")
public class checkplan extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取名为 planId 的参数
String planId = request.getParameter("planId");
if (planId != null && !planId.isEmpty()) {
// 处理 planId 参数
} else {
// 参数为空的处理逻辑
}
}
}2. 调用 Dao 类中的方法进行数据库操作 在 checkplan 类中,为了进行数据库操作,我们需要创建 Dao 类的实例,并调用其相应的方法。假设我们有一个 PlanDao 类,其中包含根据 planId 查询计划信息的方法。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;

@WebServlet("/checkplan")
public class checkplan extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String planId = request.getParameter("planId");
if (planId != null && !planId.isEmpty()) {
// 创建 Dao 类实例
PlanDao planDao = new PlanDao();
// 调用 Dao 类的方法进行数据库查询
Plan plan = planDao.getPlanById(Integer.parseInt(planId));
if (plan != null) {
// 处理查询到的计划信息
} else {
// 未查询到计划信息的处理逻辑
}
}
}
}3. 将数据传递给 JSP 页面 为了将从数据库中查询到的数据传递给 JSP 页面,我们可以使用 HttpServletRequest 对象的 setAttribute 方法。在 JSP 页面中,可以使用 EL 表达式或 JSP 脚本获取这些属性。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;

@WebServlet("/checkplan")
public class checkplan extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String planId = request.getParameter("planId");
if (planId != null && !planId.isEmpty()) {
PlanDao planDao = new PlanDao();
Plan plan = planDao.getPlanById(Integer.parseInt(planId));
if (plan != null) {
// 将查询到的计划信息存储到 request 中
request.setAttribute("plan", plan);
// 转发到 JSP 页面
request.getRequestDispatcher("/planDetails.jsp").forward(request, response);
}
}
}
}在 planDetails.jsp 页面中,可以使用以下方式获取 plan 对象:<%@ page contentType="text/html;charset=UTF-8" language="java" %>

计划详情

计划详情

计划名称: ${plan.planName}

计划描述: ${plan.planDescription}

`

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亲测可用,IDEA中使用满血版DeepSeek R1!支持深度思考!免费!免配置!

之前介绍过在IDEA中使用DeepSeek的方案,但是很多人表示还是用的不够爽,比如用CodeChat的方案,只支持V3版本,不支持带推理的R1。想要配置R1的话有特别的麻烦。作者:程序员 Hollis之前介绍过在IDEA中使用DeepSeek的方案,但是很多人表示还是用的不够爽,比如用CodeChat的方案…

Vscode中Eigen库的导入问题

Vscode中Eigen库的导入问题.Vscode中Eigen库的导入问题 在Vscode中,C++外部库(这里为Eigen)的导入问题主要有库的zip文件下载、在c_cpp_properties.json和tasks.json文件中进行路径配置。另外,如果运行代码使用Code Runner插件,还需要在Code Runner中进行路径配置(即使在…

最新更新!扣子(Coze)接入地表最强DeepSeek-R1大模型,超全攻略,手把手教学,完全免费教程

‍ 最新消息,国产地表最强大模型可以接入Coze平台了,今天斜杠君为大家带来了最细接入攻略,大家快学起来吧~ 备注:需要登录专业版火上引擎接入,开通专业版的同学需要开通一下。 接下来,话不多说,斜杠君用最简单的方式教给大家。 大家可以关注收藏,以免之后找不到,而且也…

1.如何在python中安装playwright

1.如何在python中安装playwright 打开pycharm,进入终端,输入如下的2个命令行代码即可自动完成playwright的安装 pip install playwright ——》在python中安装playwright第三方模块 playwright install ——》安装playwright所需的工具插件和所支持的浏览器 看到这里,是否想…

最新扣子(Coze)案例教程:DeepSeek 图像生成,用扣子应用打造超萌表情包生成器,手把手教学,完全免费教程

上一篇文章和大家分享了如何把DeepSeek-R1接入到扣子智能体中进行使用,这篇教程让我们来应用一下DeepSeek,使用DeepSeek结合工作流中的图像生成节点,打造一个表情包生成器的应用。 应用作用:输入一个人物或动物主题,生成一组表情包。 首先我们来看一下生成后的效果: 图像…

我悟了!原来本地图片预览还能这样搞

在网页开发中,经常会遇到需要让用户上传图片并在上传前进行预览的需求。这样做的好处显而易见:用户可以立即看到自己选择的图片是否正确,避免了不必要的上传和服务器资源浪费,提升了用户体验。Hey, 我是 Immerse 本文首发于 【沉浸式趣谈】,我的个人博客 https://yaolifen…

octave画高通滤波、超前,滞后补偿器的幅频响应图

octave代码非常简单:pkg load control s=tf(s); k=0.5; sysG1=k*(0.005*s)/(0.005*s+1); sysG2=k*(0.8*s+1)/(0.1*s+1); sysG3=k*(s+1)/(5*s+1); figure bode(sysG1) figure bode(sysG2) figure bode(sysG3)也可以借助循环,看如下代码:1 pkg load control2 s=tf(s);3 k=0.5;…

frame切换/窗口切换

frame切换/窗口切换 切换到frame点击这里,边看视频讲解,边学习以下内容 请大家点击这里,打开这个链接 如果我们要 选择 下图方框中 所有的 蔬菜,使用css选择,怎么写表达式? 当然,要先查看到它们的html元素特征大家可能会照旧写出如下代码:from selenium import webdriv…

选择元素的基本方法

选择元素的基本方法点击这里,边看视频讲解,边学习以下内容对于百度搜索页面,如果我们想自动化输入 白月黑羽 ,怎么做呢? 这就是在网页中,操控界面元素。 web界面自动化,要操控元素,首先需要 选择 界面元素 ,或者说 定位 界面元素 就是 先告诉浏览器,你要操作 哪个 …

操控元素的基本方法

操控元素的基本方法 点击这里,边看视频讲解,边学习以下内容选择到元素之后,我们的代码会返回元素对应的 WebElement对象,通过这个对象,我们就可以 操控 元素了。 操控元素通常包括 点击元素在元素中输入字符串,通常是对输入框这样的元素获取元素包含的信息,比如文本内容…

CClink IEF Basic设备数据 转EthernetIP项目案例

VFBOX协议转换网关支持PLC,modbus,EthernetIP,Profinet,CCLink,EtherCAT,IEC61850,IEC104,bacnet,DLT645,HJ212,opc ua,opc da,DNP3。目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 网关采集CCLINK IEF BASIC数据 2 5 使用ETHERNETIP转发数据 5 6 案例…

SciTech-EECS-BigDataAIML-NN(神经网络): Forward NN(前向传播算法)

SciTech-EECS-BigDataAIML-NN(神经网络): Forward NN(前向传播算法)