JAVAEE如何实现网页(jsp)间的数据传输?一文总结

刚刚接触到JAVAEE的WEB开发,解释不周的地方希望感谢指正!!!

情景如下:

我的使用是21版的IDEA,9.03版本的tomcat,来做一个示范。

构建项目

点击下一步 -> 完成,等待项目构建结束。

初始项目结构如下:

目录不全的情况可以右键点击根目录创建目录补全即可,如果不存在webapp目录需要添加web服务来补全

步骤如下:文件->项目结构->模块:

选择web,选择正确的路径点击应用后确定

此时这个项目的基础模型就构建好了。

配置TOMCAT

要想把程序运行到网页上,需要先配置好服务器

点击编辑配置,点击加号,下滑选择tomcat服务器,点击本地

选择配置,找到下载好的tomcat服务器,点击修复部署工件,如果没警告则不需要点击

选择war exploded,点击应用,配置完成

以下是初始的index.jsp文件:

复制代码
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<h1><%= "Hello World!" %>
</h1>
<br/>
<a href="hello-servlet">Hello Servlet</a>
</body>
</html>

点击小三角运行,会在浏览器上看到页面,说明部署成功

网页操作

首先我在index中添加一个输入文本框以及提交按钮,代码如下:

复制代码
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<h1><%= "Hello World!" %>
</h1>
<br/>
<form action="output" method="post">
    输入内容:<input type="text" name="input">
    <input type="submit" value="提交">
</form>
</body>
</html>

可以分析以下,提交用来提交表单到action,接下来我们需要添加一个接收信息的网页hi.jsp

在webapp目录下新建网页hi.jsp:

代码如下:

复制代码
<%--
  Created by IntelliJ IDEA.
  User: 31168
  Date: 2024/9/27
  Time: 23:45
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>接收信息</title>
</head>
<body>
    <h1>Hi!</h1>
    接收的信息:${message}
</body>
</html>

即,我们这个网页接收一个名为message的变量,并输出到网页上。

现在的问题是,我们有了输出,也有了输入,但是我们现在需要连接两个网页了,这里我使用Servlet来连接两个网页。

Servlet连接网页

在src\main\java目录下的包内新建java类 PrintServlet.java

复制代码
package com.panjyash.ldu.jsptojsp;

import javax.servlet.RequestDispatcher;
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("/output")
public class PrintServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        // 从请求中获取名为 "input" 的参数,而不是从响应中获取
        String input = request.getParameter("input"); // 修正这里

        // 设置响应的内容类型
        response.setContentType("text/html;charset=UTF-8");

        // 将输入的内容设置为请求属性,以便在 JSP 中使用
        request.setAttribute("message", input);

        // 转发请求到 hi.jsp
        RequestDispatcher dispatcher = request.getRequestDispatcher("hi.jsp");
        dispatcher.forward(request, response);
    }
}

最后效果一览:

相关推荐
lhldsg几秒前
树洞倾诉的核心需求与产品定位误区
java·前端·小程序
Freak嵌入式9 分钟前
MicroPython+Pico 接收空闲中断和发送空闲中断全实战
java·开发语言·stm32·单片机·嵌入式硬件
计算机毕设定制辅导-无忧学长22 分钟前
《基于SpringBoot的图书管理系统设计与实现》
java·spring boot·后端
小蒜学长23 分钟前
借助于大模型工具Cursor的中药材交易系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
Arvin62724 分钟前
SonarQube 扫描 Maven 项目编译错误
java·maven·sonar
lhldsg31 分钟前
宠物同城领养平台开发实战:从需求分析到上线部署指南
java·前端·小程序·需求分析·宠物
风萧萧199935 分钟前
JAVA :JSONObject转换为XML
xml·java·python
阿图灵35 分钟前
LangGraph 实战 03:Workflows 与 Agents——六种工作流模式与智能体实战(附 6 个可运行示例)
java·前端·javascript·工作流·ai agent·智能体·langgraph
程序员三明治41 分钟前
【体验毛坯房】Deep Harness 入门教程
java·人工智能·后端·大模型·llm·deepseek·dsh
zzzll111141 分钟前
深入理解 Java HashMap:从原理到实战
java·开发语言·哈希算法