给自己的JSP/Servlet教程

Servlet的详细教程 文章目录一、Servlet的简介二、Servlet的入门案例三、创建Servlet的三种方式3.1实现Servlet接口的方式3.2继承GenericServlet抽象类的方式3.3继承HttpServlet的方式四、Servlet注解和配置文件的写法4.1配置文件的写法4.2注解的写法五、Servlet的生命周期六、Servlet获取前端请求的参数七、通过前端发送数据到servlet,然后存入到数据库八、中文乱码的解决方案九、重定向和转发【重要】9.1重定向9.2转发十、URL匹配规则十一、Servlet 阅读详情

Jsp基础

对于Jsp/Servlet来说,web.xml文件的配置是十分重要的,而从serrvlet3.0开始,这个文件已经不再是必须的了。可是习惯起见,很多人仍然会选择保留该文件。
Jsp文件是在html中嵌入java脚本,因此显得要比直接开发Servlet,简单许多。但是jsp的本质其实就是servlet。运行期间,tomcat会根据jsp页面生成对应的Servlet的java文件和class文件。所以第一次访问一个jsp文件时,会比较慢,因为它需要去编译成一个Servlet文件。当然作为访问者是不需要安装任何客户端的,因为jsp生成的内容就是一个标准的html页面。

Jsp使用语法

在静态的html页面中嵌入java脚本就是jsp的编写方式,但是我们需要知道jsp页面中所要求的语法(也就是允许包含的成分)。这里一共是有4种,掌握了这4种语法,就可按以下步骤开发jsp页面了。

  1. 编写一个静态页面
  2. 用合适的方法向页面上嵌入语法。为静态页面增加动态内容。
    四种基本语法:
    (1)JSP注释
    注释作为一种开发过程中的提示,不会输出到客户端。使用<%– –%>或“<!– –>”
    (2)JSP声明
    Jsp声明用于声明变量与方法,看上去不用定义类就可以定义方法,但实际上,Jsp声明会转换成对应Servlet的成员变量或成员方法,仍然符合Java语法。jsp声明中独立存在的方法只是一种假象,它在jsp编译的过程中,成为了生成的servlet中的成员方法。
    <%!声明部分%>
    这种语法下声明的变量或方法都转换为了对应的Servlet的成员变量和方法。声明过程可以使用public和private等修饰符,但是不能使用abstract,因为这样肯定会导致Servlet变成抽象类,从而导致无法实例化。
    PS:无论你从多少个浏览器对其访问,都是访问了同一个实例,因为每个Servlet在容器中只有一个实例。
    (3)JSP输出表达式
    jsp提供了一种输出表达式值的简单方法:<%=表达式%>
    实际上是可以代替原来的out.print输出语句。输出表达式后面不用带“;”。
    (4)JSP脚本
    一般来说所有可执行的java代码都可以通过jsp脚本嵌入HTML页面。Jsp脚本的内容将转换成Servlet里的_jspService方法中的可执行性代码。在脚本里也可以声明变量,这时声明的变量里是局部变量。但是不能使用访问控制符修饰,也不可使用static修饰。
    jsp脚本内容之所以可以控制jsp页面的静态内容,是因为jsp页面里的所有静态内容都将有_jspService方法里的输出语句来进行输出,jsp脚本因为会被转化成_jspService里的可执行代码,所以jsp脚本里不允许定义方法,因为java的方法中不能再定义方法。当然脚本里也可以连接数据库和执行数据库操作。

JSP的三个编译指令

常见的编译指令有:
page:该指令指的是针对当前页面的指令。
include:用于指定包含另一个页面。
taglib:定义和访问自定义标签的指令。

使用编译指令的语法是:<%@ 编译指令名 属性名=“属性值”%>

page指令
page指令是用于定义本页面的一些属性参数的,一般位于顶端,并且可以包含多条page指令。
<%@page
//声明当前jsp页面使用的脚本语言的种类
[language=”java”]
//声明本jsp页面编译产生的java类所继承的父类,或者实现的接口
[extends=”package.class]
//用来导入包,servlet,http,jsp,lang包是不用显示导入的
[import=”package.class|package.*,..”]
//设置这个页面是否需要session
[session=”true|false”]
//指定缓冲区的大小,out用于缓存jsp页面对浏览器的输出
[buffer=”none|8 KB|size KB]
//设置是否在缓冲区即将溢出时强制输出内容
[autoFlush=”true|false]
//设置是否线程安全
[isThreadSafe=”true|false]
//设置程序的信息,看作是jsp的说明通过Servlet.getServletInfo()
[info=”text”]
//指定错误处理页面
[errorPage=”relativeURL”]
//设置生成网页的文件格式(MIME类型)和编码字符集
//默认的MIME是text/html,字符集ISO-8859-1
[contentType=”mimeType[;charset=characterSet]”|”text/html;charSet=ISO-8859-1”]
//指定生成网页的编码字符集
[pageEncoding=”ISO-8859-1”]
[isErrorPage=”true|false”]
%>
include指令
include指令分静态和动态,静态指令会将被包含的页面加入本页面,融合成一个页面,被包含页面甚至可以不是一个完整的页面。

语法:<%@include file=”relativeURLSpec”%>
如果被嵌入的页面需要经常改变,建议使用动态include语句
jsp:include

JSP的7个动作指令

与编译指令不同,编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的动作。
1.jsp:forward:执行页面转向,将请求的处理转发到下一个页面
2.jsp:param:用于传递参数,必须与其他支持参数的标签一起使用。
3.jsp:include: 用于动态引入一个JSP页面
4.jsp:plugin:用于下载JavaBean或Applet到客户端
5.jsp:useBean:创建一个JavaBean的实例
6.jsp:setProperty:设置JavaBean实例的属性值
7.jsp:getProperty:输出JavaBean实例的属性值。

jsp:forward指令:

//额外增加了请求参数,可以通过HttpServletRequest类的getParameter()方法获取
<jsp:forward page="{relativeURL|<%=expression%>}">
    {<jsp:param.../>}
</jsp:forward>
JavaWeb——Servlet(全网最详细教程) JavaWeb技术之Servlet 阅读详情

相关推荐

WRF模型下中国土地利用数据替换USGS-24分类的完整实践指南

本文提供了在WRF模型中,将中国土地利用数据替换默认USGS-24分类的完整实践指南。详细阐述了替换下垫面数据的必要性,并分步讲解了数据准备、坐标转换、分类体系重映射、格式转换及配置文件修改等核心操作,旨在帮助用户提升针对中国区域的模拟精度。

salt的博客 777

Servlet详细教程

Servlet详细教程

qq_52699757的博客 7512

同态加密与SEAL库实战:CKKS参数调优避坑指南

本文深入探讨了同态加密技术中CKKS方案的参数调优实践,重点解析了SEAL库中`poly_modulus_degree`、`coeff_modulus`和`scale`三大核心参数的配置技巧与避坑指南。通过实战案例展示了如何平衡计算深度、精度与性能,为开发者提供了一套完整的参数优化方法论,帮助避免常见的'scale out of bounds'等错误,显著提升同态加密应用的可靠性和效率。

weixin_29315569的博客 227

Servlet 详细教程 + 案例

Servlet 详细教程 + 案例

若尘的博客 5975

移相变压器Simulink建模与HVDC系统仿真实践

移相变压器是电力电子领域实现精确相位调节的核心设备,其通过特殊绕组设计改变输出电压相位角,在解决环网潮流不均、阻尼功率振荡等场景具有关键作用。本文基于MATLAB/Simulink环境,详细解析移相变压器的建模原理与技术实现,包括磁路耦合特性模拟、参数计算方法和控制策略设计。针对HVDC高压直流输电和FACTS柔性交流输电系统等典型应用,提供仿真模型搭建技巧与问题排查指南,特别涵盖新能源并网场景下的相位调节优化方案。通过实测数据验证,所建模型在稳态精度和动态响应方面均满足工程要求,为电力系统稳定性分析提供有

weixin_28278377的博客 270

低功耗基础概念——Level Shifter cell补充

信号跨越不同级别电压模块进行驱动时,需要使用level shifter。 H2L Level shifer 从高电压到低电压的level shifter,可以是两个反相器的串联。 输入高电平区域信号INH,输出低电平区域信号OUTL,注意供应电源由低电压模块提供,即图中的VDDL。 从图中可以看出,H2L的level shifter只会引入一个buffer的延迟,对时序的影响较小。 L2H Level shifer 用低电压区域的信号invert和buffer之后得到的一对信号来驱动工作在高电压区域的交

qq_36480087的博客 1万+

Servlet/JSP 核心技术学习项目教程

Servlet/JSP 核心技术学习项目教程 1、项目介绍 servlet-core-learning 是一个专注于 Servlet 和 JSP 核心技术学习的开源项目,旨在帮助 Java EE 初学者巩固 Servlet 和 JSP 的核心技术。项目包含了丰富的示例代码和测试案例,涵盖了 Servlet 和 JSP 的各个方面,包括异步调用、请求与响应、会话管理等。此外,项目还涉及 Tomcat...

gitblog_00037的博客 313

Halcon手眼标定实战:九点标定法从入门到精通(附完整代码)

本文详细介绍了Halcon环境下九点标定法的完整实现流程,从基础概念到实战技巧,帮助开发者快速掌握手眼标定技术。通过精确采集图像坐标与机械坐标,计算仿射变换矩阵,实现相机与机械臂坐标系的精确映射,适用于工业自动化中的平面定位场景。

v4w5x6的博客 411

JSP/SERVLET入门教程--Servlet 使用入门

转载自: http://blog.sina.com.cn/s/blog_85f5590f0100wm7q.html 现在的JSP书籍有的是直接讲述JSP的使用,然后再讲解SERVERLET的使用;也有书籍是先讲述SERVERLET的使用,然后讲解JSP使用.个人认为第二种相对好一些,至于原因大家可以在学习体会到!所以今天我们接着学习SERVERLET的使用! 好,废话少说,现在开始 1.什么是Servlet? ① Servlet就是JAVA 类 ② Servlet是一个继承HttpServlet类的类 ③ 

娜可璐璐的博客 613

【2026最新版】PCL点云处理算法汇总(C++长期更新版)

PCL学习目录。博客长期更新,最近一次更新时间为:2026年10月4日。

点云侠的博客 63万+

【电机应用控制】——步进电机控制原理(四相五线/两相四线/细分驱动)&驱动器&梯形/S形加减速算法&直线/圆弧插补

步进电机是一种把电脉冲信号转换为角位移(左)或线位移(右)的电动机。两相通常1.8°,三相通常1.2°、无相通常0.72°,角位移=脉冲个数X步距角。在非超载且不超频的情况下,电机的旋转位置只取决于脉冲个数,转速只取决脉冲信号的频率。所以只需要统计脉冲个数和频率,不再需要编码器测速和位置,具有优秀的开环能力,当然也可接编码器反馈速度和位置数据,实现更加精准的闭环控制。永磁式动态性能好,输出力矩大,但步距角大通常7.5°;反应式(磁阻式)结构简单成本低,步距角小一般1.2°,但振动噪音大动态性能差;

weixin_51658186的博客 5万+

JSP/Servlet应用程序优化八法-JSP教程,Jsp/Servlet

你的j2ee应用是不是运行的很慢?它们能不能承受住不断上升的访问量?本文讲述了开发高性能、高弹性的jsp页面和servlet的性能优化技术。其意 思是建立尽可能快的并能适应数量增长的用户及其请求。在本文中,我将带领你学习已经实践和得到证实的性能调整技术,它将大大地提高你的servlet和 jsp页面的性能,进而提升j2ee的性能。这些技术的部分用于开发阶段,例如,设计和编码阶段。另一部分技术则与配...

maiguang33的专栏 167

封装POD与PinMap文件总结学习-20250516

芯片封装外形图(POD)和PinMap是芯片设计和制造中的关键文档。POD详细描述了芯片的物理尺寸、引脚布局和封装类型,而PinMap则提供了芯片封装上各个引脚的位置、名称和功能的详细信息。这些文档在芯片设计、制造和应用过程中起到“地图”的作用,帮助设计人员理解芯片的物理和电气特性。在PCB设计中,POD用于确定socket的footprint和pogo的选型,而PinMap则用于器件的合理布局和布线。这些信息对于确保芯片的正确安装和功能至关重要。

歌颂苦难的行为是无耻的; 2368

视频教程-jsp/servlet精讲-Java

jsp/servlet精讲 资深大数据、java讲师,十年开发经验,曾经任职...

weixin_32236453的博客 213

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

使用jsp实现word excel格式报表打印-JSP教程 Jsp/Servlet

使用jsp实现word excel格式报表打印-JSP教程 Jsp/Servlet

fdyufgf的博客 222

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Spring Boot gradle 集成servlet/jsp 教程及示例

  1、build.gradle 配置 注意,加入了war插件,在依赖中加入了jstl、tomcat-embed-jasper,这样才能运行jsp页面。 buildscript { ext { springBootVersion = '1.5.3.RELEASE' } repositories { maven { url ...

weixin_33862188的博客 385

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

使用jsp实现word、excel格式报表打印-JSP教程,Jsp/Servlet

这里使用一个小技巧,就是先将其转换为可编辑的JSP文件,然后再像操作其它的JSP页面一样操作,就这么简单。因为ms word和excel的文档都支持html文本格式,因此可以先用word或excel做好模版,另存为web页,然后将该html改成jsp,将数据部分动态填入即可,不用很辛苦的调整格式 。word页面只要在jsp头设置如下指令: excel如下:   使用这种方式,就

冯立彬的博客 1万+
上一篇: 给自己的SQL教程
下一篇: WebSocket刨根问底(转)
Panda0516
博客等级 码龄9年 0粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值