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

Tomcat搭建JSPServlet

一、Tomcat环境搭建

1. 将项目变为Web项目

选中项目,点击Help中的Find Action

搜索Add Framework Support

勾选Web Application

出现这些文件就是成功了 

2. 配置Tomcat

点击Edit Configurations

点击加号,选择Tomcat Server Local

Deployment栏下点击加号选择Artifact

下方Application context处删掉“/”后的内容,哪个是项目名,不删掉每次写域名都得加上,很麻烦

点击运行,弹出的网页显示出index.jsp文件下<body>里的内容就是成功了

二、Servlet

JSP的本质是Servlet

实现步骤

1. 创建类继承HttpServlet

2. 覆盖为实现的方法——service方法

出现报错说明项目没有引入Tomcat,点击file栏中的Project Structure

在Modules栏中选中项目,点击加号下的Library

加入Tomcat

Servlet生命周期

Servlet重要的四个生命周期方法
1. 什么时候初始化
2. 什么时候被调用
3. 什么时候被销毁

init方法:initiate创建完servlet对象时候调用,只能调用一次。
service:每次浏览器发出请求的时候调用,可以调用多次。
destroy:销毁servlet对象时调用,只能调用一次。

三、JSP

1.JSP的脚本(脚本就是一段代码):
语法:<%java代码%>
作用:在jsp文件中执行java代码
2.JSP表达式
语法:<%=变量或表达式%>
作用:向浏览器输出变量的值或表达式计算的结果

四、URL路径

http:协议
localhost:域名(local:本地,host:主机)
    本地域名:localhost    127.0.0.1
    外部域名:www.XXXX.com
端口号:
8080:tomcat默认端口号
3306:mysql默认端口号
?:其后面是传递的参数

输入域名后会转换为IP地址,有限寻找本地地址,若本地没有则联网去DNS服务器上寻找。

五、转发

一般查询了数据之后,转发到一个jsp页面进行展示
req.setAttribute("list",list);
req.getRequestDispatcher("student_list.jsp").forward(req,resp);

六、重定向

一般添加、删除、修改之后重新定向到查找所有
resp.sendRedirect("/student");
重定向的状态码是302,重定向的地址最终是由浏览器发送这个请求

七、Get与Post

Get:

1. 采用URL请求路径传输参数,参数拼接在URL后面
2. 参数传输过程中隐私性较差,直接显示在URl后面
3. 路径可以容纳的数据有限,只能传输少量参数
4. form表单请求默认为get

Post:

1. 采用试题内容传参数
2. 参数在传输过程中不可见,隐私性好
3. 实体内容专门用来传输数据,大小没有限制
4. 使用方法:在form上加method="post"

<form ***** method="post"></form>

post表单乱码问题

1. 数据库创建时选择utf-8编码
2. 在servlet中重写service方法时先写req.setCharacterEncoding("UTF-8");

八、前台往后台发送请求方式

1. form表单
2. 超链接

<a href="*****">***</a>

3. location.href
4. ajax

九、跳转到一个jsp页面的方式

1. 直接访问这个jsp页面
2. 访问servlet转发到这个页面

相关文章:

Tomcat搭建JSPServlet

一、Tomcat环境搭建 1. 将项目变为Web项目 选中项目&#xff0c;点击Help中的Find Action 搜索Add Framework Support 勾选Web Application 出现这些文件就是成功了 2. 配置Tomcat 点击Edit Configurations 点击加号&#xff0c;选择Tomcat Server Local Deployment栏下点击…...

32位定点数和32/64位浮点数的二进制生成方法

问题由来 定点数和浮点数在嵌入式软件处理和FPGA算法方面使用比较普遍&#xff0c;但是遇到FPGA实现32位定点数的处理&#xff0c;想要仿真时&#xff0c;突然发现全网都在讲浮点数和定点数的格式和理论&#xff0c;几乎没有生成的快捷方法&#xff0c;好在一片文章出现了一点…...

STM32利用arm-dsp库进行FIR低通滤波【详细】

arm-dsp库官方已经封装好了&#xff0c;使用的时候需要把dsp库移植到工程里面&#xff0c;具体怎么移植网上可以找到教程 这里直接说怎么用FIR的流程&#xff1a; 一、Matlab里面生成所配置的阶数和系数 1、在Matlab命令窗口输入fdatool,回车&#xff0c;会弹出一个新窗口 2…...

Efficient-KAN 源码详解

Efficient-KAN源码链接 Efficient-KAN (GitHub) 改进细节 1.内存效率提升 KAN网络的原始实现的性能问题主要在于它需要扩展所有中间变量以执行不同的激活函数。对于具有in_features个输入和out_features个输出的层,原始实现需要将输入扩展为shape为(batch_size, out_featur…...

Jlink commander使用方法(附指令大全)

Jlinkcmd它可以方便用户在非仿真的情况下&#xff0c;hold内核、单步、全速、设置断点、查看内核和外设寄存器、读取flash代码等等&#xff0c;方便大家拥有最高的权限查看在运行中的MCU情况&#xff0c;查找非IDE仿真情况下&#xff0c;MCU运行异常的原因。 目录 驱动安装 …...

Java SpringBoot实现PDF转图片

不是单页图片&#xff0c;是多页PDF转成一张图片的逻辑。 我这里的场景是PDF转成图片之后返回给前端&#xff0c;前端再在图片上实现签字&#xff0c;并且可拖拽的逻辑&#xff0c;就是签订合同的场景。 但是这里只写后端多页PDF转图片的逻辑。 先说逻辑&#xff0c;后面直接…...

elasticsearch SQL:在Elasticsearch中启用和使用SQL功能

❃博主首页 &#xff1a; 「码到三十五」 &#xff0c;同名公众号 :「码到三十五」&#xff0c;wx号 : 「liwu0213」 ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a…...

Java 并发编程:线程变量 ThreadLocal

大家好&#xff0c;我是栗筝i&#xff0c;这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 029 篇文章&#xff0c;在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验&#xff0c;并希望进…...

【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】018 - init_sequence_f 各函数源码分析(二)

【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】018 - init_sequence_f 各函数源码分析(二) 一、arch_cpu_init二、arch_cpu_init系列文章汇总:《【OpenHarmony4.1 之 U-Boot 源码深度解析】000 - 文章链接汇总》 本文链接:《【OpenHarmony4.1 之 U-Boot 2024.07源码深度…...

LVS原理——详细介绍

目录 介绍 lvs简介 LVS作用 LVS 的优势与不足 LVS概念与相关术语 LVS的3种工作模式 LVS调度算法 LVS-dr模式 LVS-tun模式 ipvsadm工具使用 实验 nat模式集群部署 实验环境 webserver1配置 webserver2配置 lvs配置 dr模式集群部署 实验环境 router 效果呈现…...

MYSQL 5.7.36 等保 建设记录

文章目录 前言一、开启审计日志1.1 查看当前状态1.2 开启方式1.3 查看开启后状态 二、密码有效期2.1 查看当前状态2.2 开启方式2.3 查看开启后状态 三、密码复杂度3.1 查看当前状态3.2 开启方式3.3 查看开启后状态 四、连接控制4.1 查看当前状态4.2 开启方式4.3 查看开启后状态…...

fatal: unable to access ‘https://github.com/xxxxx

ubuntu中git克隆项目异常 git clone https://github.com/xxx Cloning into ‘xxx’… fatal: unable to access ‘https://github.com/xxx/xx.git/’: Could not resolve host: github.com 解决办法使用命令&#xff1a; git config --global http.proxy git config --global…...

从零开始的CPP(38)——递归与动态规划

leetcode46 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#xff1a; 输入&#…...

从战略到系统架构:信息系统设计的全面解析

在当今数字化时代&#xff0c;信息系统已成为企业运营、管理和创新的核心驱动力。信息系统设计的重要性不仅关乎企业的技术实现&#xff0c;更直接影响到企业的战略执行和市场竞争能力。本文将从战略视角出发&#xff0c;深入探讨信息系统设计的全过程&#xff0c;包括从战略制…...

GEE调用中国(China Land Cover Dataset,简称CLCD)1990-2022年30米分辨率的土地分类数据

博客推荐 GEE土地分类&#xff1a;中国30米年度土地覆盖产品annual China Land Cover Dataset, CLCD&#xff08;面积提取&#xff09;_30米土地利用数据gee-CSDN博客 简介 中国陆地覆盖数据集&#xff08;China Land Cover Dataset&#xff0c;简称CLCD&#xff09;是一个用…...

三十八、大数据技术之Kafka(1)

&#x1f33b;&#x1f33b; 目录 一、Kafka 概述1.1 定义1.2 消息队列1.2.1 消息队列内部实现原理1.2.2 传统消息队列的应用场景1.2.3 消息队列的两种模式 1.3 Kafka 基础架构 二、 Kafka 快速入门2.1 安装前的准备2.2 安装部署2.2.1 集群规划2.2.2 单节点或集群部署2.2.3 集群…...

将 Tcpdump 输出内容重定向到 Wireshark

在 Linux 系统中使用 Tcpdump 抓包后分析数据包不是很方便。 通常 Wireshark 比 tcpdump 更容易分析应用层协议。 一般的做法是在远程主机上先使用 tcpdump 抓取数据并写入文件&#xff0c;然后再将文件拷贝到本地工作站上用 Wireshark 分析。 还有一种更高效的方法&#xf…...

【Python蓝屏程序(管理员)】

说明&#xff1a;该程序为临摹(&#x1f600;)作品&#xff0c;源地址C蓝屏程序(非管理员) 我试图使用Python调用 NtRaiseHardError API &#xff0c;实现类似的蓝屏效果。可惜我发现Python在普通权限下&#xff0c;直接调用 NtRaiseHardError API 是不被允许的&#xff0c;因为…...

OpenGL ES->GLSurfaceView绘制图形的流程

自定义View代码 class MyGLSurfaceView(context: Context, attrs: AttributeSet) : GLSurfaceView(context, attrs), GLSurfaceView.Renderer {var mProgrem 0init {// 设置 OpenGL ES 3.0 版本setEGLContextClientVersion(3)// 设置当前类为渲染器, 注册回调接口的实现类set…...

Linux OOM Killer详解

Linux OOM Killer详解 一、概述二、OOM Killer的技术原理1. 内存区域划分2. 内存耗尽与OOM Killer触发3. 选择被杀进程的策略4. 内存回收机制5. 内存分配策略 三、OOM Killer的工作机制1. 内存压力监测2. 触发条件3. 选择被杀进程4. 终止进程 四、实际场景举例场景一&#xff1…...

PostgreSQL CASE语句深度解析:性能、类型与NULL安全实战指南

1. 为什么你必须真正吃透 PostgreSQL 的 CASE 语句——它远不止是 SQL 里的“if-else”翻译器在 PostgreSQL 实战中&#xff0c;我见过太多人把CASE当成一个语法糖&#xff1a;写几个WHEN...THEN&#xff0c;加个ELSE&#xff0c;再套个END&#xff0c;就以为搞定了。结果呢&am…...

STM32单片机学习(27) —— SPI相关概念

文章目录概述SPI通信的核心特性I2C和SPI的简单对比SPI学习的补充说明SPI硬件电路设计SPI的四条通信线SPI通信的片选线低电平选中不支持广播通信SPI通信的时序结构&#xff08;重点&#xff09;SPI通信的比特序通信空闲状态&#xff0c;SPI时钟极性采样时机&#xff0c;SPI时钟相…...

从测速到配置:一套完整的cFosSpeed网络加速保姆级教程(适用于小白)

从零开始掌握cFosSpeed&#xff1a;网络加速全流程实战指南对于经常进行在线游戏、视频会议或大文件传输的用户来说&#xff0c;网络延迟和带宽利用率低下往往是影响体验的关键痛点。cFosSpeed作为一款专业的网络流量优化工具&#xff0c;能够显著改善这些问题&#xff0c;但许…...

SSE 基础知识

SSE 基础知识 一、概念定义 SSE 全称 Server-Sent Events&#xff0c;是基于HTTP协议的服务器单向数据推送技术。 建立一次长连接后&#xff0c;服务端可主动持续向前端推送数据&#xff0c;无需客户端反复轮询请求。 二、核心特点 单向通信&#xff1a;仅服务器 → 客户端发送…...

GitLab External Wiki代理权限绕过漏洞深度解析

1. 这个漏洞不是“修个补丁”就能完事的——它暴露的是 GitLab 权限模型里一个被长期忽视的逻辑断层GitLab 安全漏洞 CVE-2025-2614&#xff0c;光看编号容易误以为是又一个常规的越权或 XSS 类型漏洞。但我在实际复现和审计过程中发现&#xff0c;它根本不是配置疏漏或代码拼写…...

Unity发行版DLL调试实战:DnSpy无源码IL级断点指南

1. 这不是“反编译”&#xff0c;而是Unity游戏开发者的日常调试手段你有没有遇到过这样的情况&#xff1a;接手一个Unity发行版游戏&#xff0c;想快速验证某个功能逻辑是否按预期执行&#xff0c;或者排查一个偶发的崩溃&#xff0c;但手头只有打包后的Assembly-CSharp.dll&a…...

基于双T振荡器的正弦波LED调光电路设计与实践

1. 项目概述&#xff1a;用双T振荡器实现正弦波LED调光最近在捣鼓一些氛围灯项目&#xff0c;总感觉用单片机PWM做的呼吸灯效果有点“硬”&#xff0c;那种线性的明暗变化看久了难免审美疲劳。于是翻出以前模拟电路的老本行&#xff0c;琢磨着能不能用纯硬件的方式&#xff0c;…...

腾讯 Marvis 初级使用教程——从安装到上手

腾讯最新系统级AI助手Marvis&#xff08;2026年5月20日发布&#xff09;&#xff0c;官网 https://marvis.qq.com&#xff0c;主打“一句话操作电脑”、跨端协同、GUI Agent执行。虽然是个【小龙虾】&#xff0c;但上手其实不难。这篇就简单写写 Marvis 的安装和基础使用&#…...

打不开JupyterLab

因为安装某些依赖导致JupyterLab的依赖被动升级或降级&#xff0c;从而影响了JupyterLab的运行&#xff0c;此时可以SSH登录到实例&#xff0c;然后输入jupyter-lab命令进行确认&#xff0c;如果执行命令报错则说明是此问题&#xff0c;那么可以通过pip install jupyterlab再次…...

DragonBones与Godot集成:骨骼动画的可编程化实践

1. 为什么在Godot里用DragonBones不是“锦上添花”&#xff0c;而是“绕不开的刚需” 去年上线一个横版动作手游Demo时&#xff0c;美术团队交来一套20个角色、每个角色含8套动画&#xff08;待机/跑动/跳跃/攻击/受击/死亡/闪避/必杀&#xff09;的Spine资源。我兴冲冲导入God…...