当前位置: 首页 > news >正文

JSP--Java的服务器页面

jsp是什么?
jsp的全称是Java server pages,翻译过来就是java的服务器页面。
jsp有什么作用?
jsp的主要作用是代替Servlet程序回传html页面的数据,因为Servlet程序回传html页面数据是一件非常繁琐的事情,开发成本和维护成本都非常高。

  • 下面演示一下通过Servlet来回传数据:
  1. 首先我们模块中新建一个类PrintHtml,这个类继承了HttpServlet,并通过doGet方法来回传数据。
package com.atguigu.servlet;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;public class PrintHtml extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType("text/html;charset=UTF-8");// 通过响应的输出流回传html页面数据PrintWriter writer = resp.getWriter();writer.write("<!DOCTYPE html>\r\n");writer.write("<html lang=\"en\">\r\n");writer.write("<head>\r\n");writer.write("<meta charset=\"UTF-8\">\r\n");writer.write("<title>Title</title>\r\n");writer.write("</head>\r\n");writer.write("<body>\r\n");writer.write("这是html页面数据\r\n");writer.write("</body>\r\n");writer.write("</html>\r\n");writer.write("\r\n");}
}
  1. 接下来,我们到web.xml中配置一下类名及访问地址。
    在这里插入图片描述
  2. 配置好web.xml之后,再配置一下服务器就可以启动运行了。

在这里插入图片描述

  1. 启动服务器之后,我们在浏览器中输入访问地址,就可以看到回传的页面数据,打开控制台也可以看到响应数据。
    在这里插入图片描述在这里插入图片描述通过上面的示例可以看出,通过Servlet来回传数据的编码过程十分繁琐,如果回传的页面数据比较复杂的话,用Servlet来回传就会更加麻烦且开发成本和维护成本也会更高。
  • 下面我们使用jsp来回传页面数据:
  1. 在web下新建一个jsp文件命名为a.jsp,代码如下:
<%--Created by IntelliJ IDEA.User: DELLDate: 2023/8/1Time: 17:55To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>这是html页面数据
</body>
</html>
  1. 在浏览器中访问a.jsp,可以看到返回的内容和Servlet效果一样。
    在这里插入图片描述在这里插入图片描述通过比较两种方法回传页面数据,可以看出jsp可以很好的代替Servlet程序回传html页面的数据。

相关文章:

JSP--Java的服务器页面

jsp是什么&#xff1f; jsp的全称是Java server pages,翻译过来就是java的服务器页面。 jsp有什么作用&#xff1f; jsp的主要作用是代替Servlet程序回传html页面的数据&#xff0c;因为Servlet程序回传html页面数据是一件非常繁琐的事情&#xff0c;开发成本和维护成本都非常高…...

07 Ubuntu中使用poetry工具管理python环境——巨详细!!!

由于conda和ros2的环境实在太容易冲突了。我真的不敢再使用conda&#xff0c;着实是有些搞不明白这解释器之间的关系。 conda的卸载和ros2的安装暂不赘述&#xff0c;下面着重来说如何在Ubuntu中使用poetry进行包管理及遇到的问题。 1 安装poetry 由于在有写入权限的限制&am…...

射影平面 与 射影变换

射影平面 与 射影变换 射影平面 与 齐次坐标 中心为O 的把 将与一个点O 关联的所有平面和直线构成的集合称为 中心为O的把O[\lambda, p]射影&#xff08;从平面\pi 到把O的一个对应关系&#xff09;O[P, l] [OP, OL] ...截影&#xff08;从把O 到平面\pi 的一个对应关系&…...

(202307)wonderful-sql:决胜秋招(task6)

教程链接&#xff1a;Datawhale - 一个热爱学习的社区 换硬盘重装了系统&#xff0c;后面应该也不会用到mysql&#xff0c;不装环境了&#xff0c;没有截图。 Section A 练习一: 各部门工资最高的员工&#xff08;难度&#xff1a;中等&#xff09; 创建Employee 表&#x…...

Scratch 教程:如何实现文本分割

在平时&#xff0c;我们通常会有分割文本的要求&#xff0c;但扩展却又无法使用scratch离线版打开&#xff0c;咋办呢&#xff1f;我们可以用原版做出来&#xff01; 没关系&#xff0c;我来教你&#xff01; 我们自定义一个函数&#xff0c;之后要分割调用就行了 创建三个变量…...

安全基础 --- 编码(02)+ form表单实现交互

浏览器解析机制和XSS向量编码 <!-- javascript伪协议不能被urlcode编码&#xff0c;但可以被html实体编码:也是js协议的一部分&#xff0c;不能被编码js协议被解码后&#xff0c;URL解析器继续解析链接剩下的部分unicode编码可识别实现解码但符号不能被编码&#xff0c;编码…...

华为OD机考真题--五子棋--带答案

2023华为OD统一考试&#xff08;AB卷&#xff09;题库清单-带答案&#xff08;持续更新&#xff09;or2023年华为OD真题机考题库大全-带答案&#xff08;持续更新&#xff09; 项目描述&#xff1a; 张兵和王武是五子棋迷&#xff0c;工作之余经常切磋棋艺。这不&#xff0c;这…...

把网站改为HTTPS访问方法

HTTPS是使用TSL/SSL加密超文本传输协议的扩展&#xff0c;用于跨网络的安全传输。网站更改为HTTPS&#xff0c;直接在网站形象上可以得到提升&#xff0c;更重要的是您的网站肯定会在排名和提升方面受益。机密信息的交换需要受到保护&#xff0c;以阻止未经授权的访问。 加密&a…...

【BASH】回顾与知识点梳理(四)

【BASH】回顾与知识点梳理 四 四. Bash Shell 的操作环境4.1 路径与指令搜寻顺序4.2 bash 的进站与欢迎讯息&#xff1a; /etc/issue, /etc/motd4.3 bash 的环境配置文件login与non-login shell/etc/profile (login shell 才会读)~/.bash_profile (login shell 才会读)source &…...

阿里云安全组设置

简介​ 云主机安全组必须打开如下端口&#xff1a; ssh&#xff1a;22http&#xff1a;80https&#xff1a;443ftp&#xff1a;21、20000&#xff5e;30000 阿里云安全组端口开放教程​ 腾讯云安全组端口开放教程​ 华为云安全组端口开放教程​...

QT图形视图系统 - 使用一个项目来学习QT的图形视图框架 - 终篇

QT图形视图系统 - 终篇 接上一篇&#xff0c;我们需要继续完成以下的效果&#xff1b; 先上个效果图&#xff1a; 修改背景&#xff0c;使之整体适配 上一篇我们绘制了标尺&#xff0c;并且我们修改了放大缩小和对应的背景&#xff0c;整体看来&#xff0c;我们的滚动条会和…...

代码随想录算法训练营第六十天|单调栈part03|● 84.柱状图中最大的矩形

84.柱状图中最大的矩形 Largest Rectangle in Histogram - LeetCode 单调栈这几题没过脑&#xff0c;感觉一团浆糊&#xff0c;要重新看一下 class Solution {public int largestRectangleArea(int[] heights) {Stack<Integer> stack new Stack<>();int[] newHeig…...

TCP的三次握手四次挥手

TCP的三次握手和四次挥手实质就是TCP通信的连接和断开。 三次握手&#xff1a;为了对每次发送的数据量进行跟踪与协商&#xff0c;确保数据段的发送和接收同步&#xff0c;根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系&#xff0c;并建立虚连接。 四次挥手&a…...

xml的学习笔记

学习视频&#xff1a;093-尚硅谷-xml-什么是XML以及它的作用_哔哩哔哩_bilibili 目录 XML简介 XML的作用 XML语法 1.文档声明 2.xml注释 3.元素标签 4.xml属性 5.语法规则 1.所有xml元素都须有关闭标签(也就是闭合) 2.xml 标签对大小写敏感 3.xml必须正确的嵌套 4…...

大数据之Hadoop(一)

目录 一、准备三台服务器 二、虚拟机间配置免密登录 三、安装JDK 四、关闭防火墙 五、关闭安全模块SELinux 六、修改时区和自动时间同步 一、准备三台服务器 我们先准备三台服务器&#xff0c;可以通过虚拟机的方式创建&#xff0c;也可以选择云服务器。 关于如何创建虚…...

Ubuntu安装git

使用 apt-get install git 安装git 报错&#xff1a; 这个错误信息通常表示您的系统上没有可用的 git 软件包。这可能是因为您的软件源列表中没有包含 git 软件包所在的软件源&#xff0c;或者您的软件源列表已经过期。 解决&#xff1a; 如果您使用的是 Ubuntu 或类似…...

[迁移学习]领域泛化

一、概念 相较于领域适应&#xff0c;领域泛化(Domain generalization)最显著的区别在于训练过程中不能访问测试集。 领域泛化的损失函数一般可以描述为以下形式&#xff1a; 该式分为三项&#xff1a;第一项表示各训练集权重的线性组合&#xff0c;其中π为使该项最小的系数&a…...

240. 搜索二维矩阵 II

240. 搜索二维矩阵 II 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 240. 搜索二维矩阵 II https://leetcode.cn/problems/search-a-2d-matrix-ii/description/ 完成情况&#xff1a; 解题思路&#xff1a; 从…...

【Linux:线程池】

文章目录 1 线程池概念2 第一个版本的线程池3 第二个版本的线程池4 第三个版本的线程池5 STL中的容器以及智能指针的线程安全问题6 其他常见的各种锁7 读者写者问题(了解) 1 线程池概念 一种线程使用模式。线程过多会带来调度开销&#xff0c;进而影响缓存局部性和整体性能。而…...

跨境多商户中日韩英多语言商城搭建(PC+小程序+H5),搭建方案

随着全球化的推进&#xff0c;跨境电商正变得越来越普遍。在本文中&#xff0c;我们将介绍跨境电商系统开发中多语言商城独立站的部署搭建方案。 准备工作 在开始部署搭建之前&#xff0c;需要准备以下环境&#xff1a; 服务器&#xff0c;确保服务器具备足够的性能和稳定性。 …...

边缘场景下.NET 9 GC策略终极调优:从Server GC到Single-Object Heap(SOH)迁移的7个致命陷阱与修复清单

第一章&#xff1a;边缘场景下.NET 9 GC演进全景与SOH引入动因在资源受限、低延迟敏感的边缘计算环境中&#xff0c;.NET 运行时面临前所未有的内存管理挑战&#xff1a;设备内存通常仅数百MB&#xff0c;CPU核心数少且无稳定供电&#xff0c;传统GC策略易引发长暂停与内存碎片…...

微信聊天记录安全备份与全平台管理指南:从数据危机到永久保存

微信聊天记录安全备份与全平台管理指南&#xff1a;从数据危机到永久保存 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你的微信数据正面临哪些隐形风险&#xff1f; …...

Java 25虚拟线程在微服务网关中的压测实录(QPS提升8.2倍但GC耗时翻倍的真相)

第一章&#xff1a;Java 25虚拟线程在高并发架构下的实践成本控制策略Java 25正式将虚拟线程&#xff08;Virtual Threads&#xff09;从预览特性转为标准特性&#xff0c;其核心价值在于以极低的内存与调度开销支撑百万级并发任务。然而&#xff0c;在生产环境中规模化落地时&…...

深度神经网络训练全攻略:从梯度消失到Adam优化器,一篇搞懂所有技巧

训练深度神经网络就像调教一匹烈马——既要选对方向&#xff08;优化器&#xff09;&#xff0c;又要控制好缰绳&#xff08;学习率&#xff09;&#xff0c;还得给它戴好马鞍&#xff08;正则化&#xff09;。本文将带你系统掌握这些核心技巧&#xff0c;从此告别“训练不收敛…...

2026年重庆豆包排名GEO优化公司推荐与选型避坑指南(附5大服务商真实测评)

第一部分&#xff1a;引言与需求明确作为西部制造业核心、国际消费中心城市&#xff0c;重庆目前已形成汽车、电子信息、装备制造、先进材料、食品加工五大千亿级支柱产业&#xff0c;同时家装、文旅、大宗消费等赛道市场竞争逐年白热化。据2026年重庆本地数字营销行业调研数据…...

Symfony Monolog Bridge 测试策略:如何编写完整的单元测试套件

Symfony Monolog Bridge 测试策略&#xff1a;如何编写完整的单元测试套件 【免费下载链接】monolog-bridge Provides integration for Monolog with various Symfony components 项目地址: https://gitcode.com/gh_mirrors/mo/monolog-bridge Symfony Monolog Bridge 是…...

基于SpringBoot + Vue的车辆尾气检测排放系统(双端 + 数据可视化大屏)

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 &#x1f49b;博主介绍&#…...

CLIP-GmP-ViT-L-14模型API压力测试:使用JMeter进行性能评估

CLIP-GmP-ViT-L-14模型API压力测试&#xff1a;使用JMeter进行性能评估 最近在项目里用上了CLIP-GmP-ViT-L-14模型&#xff0c;它处理图文匹配的能力确实不错。但模型部署上线后&#xff0c;我心里一直有个疑问&#xff1a;这API到底能扛住多少并发请求&#xff1f;响应时间稳…...

告别手动分析!用Frida-Trace一键追踪Android App的JNI函数调用(附实战APK)

高效追踪JNI函数&#xff1a;Frida-Trace在Android逆向工程中的实战应用 逆向工程师和安全研究员们常常需要面对一个现实问题&#xff1a;如何在有限的时间内快速理解一个未知Android应用的Native层行为&#xff1f;传统方法往往需要手动分析so文件、设置断点、逐行跟踪&#…...

WebThings Gateway数据库设计与用户配置管理:深入理解网关数据持久化机制

WebThings Gateway数据库设计与用户配置管理&#xff1a;深入理解网关数据持久化机制 【免费下载链接】gateway WebThings Gateway - a self-hosted web application for monitoring and controlling a building over the web 项目地址: https://gitcode.com/gh_mirrors/gat/…...