Servlet常用到的知识

 1.     Servlet的功能:

            Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的  Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。

 

                        Servlet担任的角色示意图

2. Servlet的本质

 

        Servlet的本质是一个java类,只不过它继承了HttpServlet这个类,我们只要实现其中额一个或者几个方法就可以,它从父类继承的方法有几个:

 

3、Servlet的配置信息

由两部分组成,<servlet></servlet>部分和<servlet-mapping><servlet-mapping>部分

1)<servlet></servlet>部分

    <description>对sevlet的描述 </description>

    <display-name>servelt显示的名字 </display-name>

    <servlet-name>实现的servelt类</servlet-name>

    <servlet-class>实现的servlet类路径 </servlet-class>

 </servlet>

2) <servlet-mapping><servlet-mapping>部分

    <servlet-mapping>

<servlet-name>实现的servelt类名 </servlet-name>

    <url-pattern>请求路径 </url-pattern>

</servlet-mapping>

执行过程:

 

 


 

注意事项:两部分中的<servlet-name>中的名字要一致,请求路径有3种,/*表示所有请求都会调用该servlet,/.*表示所以以.*结尾的请求都调用它,如/.asp,则所以以.asp结尾的请求都调用该servlet,/+名字,比如,/loginServlet则请求为loginServlet时调用他。

 

4    Servlet接受客户端的请求参数

Servlet可以通过request.getParameter(String s)的方法从客户端,也就是浏览器页面得到相应的参数,其中的s必须是在form表单中某个输入框的name属性的值,其他的参数,不能用这个方法得到,这个方法返回的为一个String类型,如果需要得到int型,这调用Integer.parseInt(s)将字符转换为int 型 ,但是前提是s

   只能包含数字,否则会报错。

5         Servlet的转发方式

 

include

表将url中的内容包含到当前的servlet输出当中,在服务器端完成,称做包含

forward

将当前request和response交给指定的url处理,一般称做转发请求,在服务器端完成,客户端地址栏看到的路径还是当前servlet的路径。

sendRedirect

指示客户端重新发起一次请求,第二个请求指向其参数url。一般称做重定向,客户端的地址栏将改变为url值,是由客户端发起的第二次请求。

6         get和post处理乱码问题

GET和POST方法提交的信息,tomcat采用了不同的方式来处理编码,对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的iso-8859-1编码。而GET请求则不同,Tomcat对于GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码,而这位朋友使用的正好是GET请求,因此,tomcat将会使用iso-8859-1将提交的字节转换成字符串。
解决的方法有三个:

1. 
将GET请求改成POST请求,然后就可以使用request.setCharacterEncoding(“GBK”)方法设置编码,并使用request.getParameter方法直接获得中文请求参数了。

2. 
不用改GET请求,在Servlet中使用如下的代码来得到中文请求参数。

String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "GBK");
3.
为了保证get数据采用UTF8编码,在server.xml中进行了如下设置

<connector port="8080" maxthreads="150" minsparethreads="25" <br="">maxSpareThreads="75" enableLookups="false" redirectPort="8443"
acceptCount="100" debug="99" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"/>

7         运行时参数的设置

Servlet中只要有三个运行时用来保存数据的对象,他们的作用范围如下:

  

 

对象

说明

ServletRequest

保存的键值仅在下一个request对象中可以得到,常用做在转发请求时共享数据;

Session

做用域是一个用户会话范围,从session第一次创建直到Session因超时或客户端关闭之前,数据会一直存在;Session常用做存入某个用户相关的数据对象,常用来保存登录的用户名,以便用来欢迎用户的登陆

servletContext

代表了servlet环境的,只要某个web应用在启动中,这个对象就一直有效,所以它是数据存活范围(时间)最大的一个;常用存放Web应用程序全局性的数据,例如登记服务器在线人数的数据,可以保存到这个对象中。

 

     一般设置公共信息时都是保存在servletContext中,通过调用setAttribute("键名", 键值),需要时调用,键值=getAttribute(“键值”),得到键值,不需要时,可以通过removeAttribute(“键值”),比如退出登陆时,就要把键值移除。

 

SSD训练自定义数据集实战:VOC格式标注与模型调参技巧 本文详细介绍了如何使用SSD模型训练自定义VOC格式数据集,包括数据标注工具选择、VOC数据集目录结构规范、数据集划分方法以及模型调参技巧。通过实战案例演示了SSD源码的关键修改点和训练参数优化策略,帮助开发者高效实现目标检测任务。 阅读详情

相关推荐

Delta-Sigma调制(DSM)技术

前言 数字信号处理和通信系统的性能很大程度上受到了模拟信号到数字信号转换接口——ADC的精度和分辨率的限制。而传统的线性脉冲编码调制(PCM)ADC受到了制造工艺的限制,无法达到很高的分辨率。但基于Delta-Sigma调制技术的ADC可以在现有工艺下实现高分辨率(大于16位),同时由于结构简单,所以易于实现。低成本高性能使得Delta-Sigma调制技术得到了广泛的应用。 Delta-Sigma型ADC的结构原理图如下图所示: 它最大的优势在于仅用1位ADC进行数据转换,同时其模拟电路部分结构简单不需要

阿星的博客 2万+

Servlet常用类剖析

Servlet请求分发处理 我们使用表单提交时,有get(非加密)和post(加密)两种提交方式

weixin_60719453的博客 2552

【物联网毕设】多模态智能门禁系统设计(STM32+人脸识别+蓝牙联动)

本文详细介绍了基于STM32的多模态智能门禁系统设计,整合了人脸识别、蓝牙联动、RFID和密码等多种开锁方式。文章从硬件选型、电路设计、嵌入式软件编程到手机APP开发,提供了完整的毕设实现方案与调试指南,帮助物联网与嵌入式方向的学生构建一个功能全面、可扩展的智能门禁系统。

rain6的博客 251

Servlet 常用类 (转载)

Servlet 是一套标准的接口规范,当用户通过web请求来访问服务器时,由web容器根据配置调用我们实现的对应的servlet对象来提供服务。同时为了方便开发,servlet标准中也提供了许多常用的工具类,比如基本的Request 和Response对象以及其他要说到的常用的类。 ServletRequest 对象 Servlet接口中的service方法的定义如下: public void service(ServletRequest req, ServletResponse res) throws

Max的博客 230

NFC门禁卡复制全解析:从M1卡到UID卡的攻防实践

本文深入解析了NFC门禁卡的安全机制与攻防实践。从M1卡基于Crypto1算法的原理漏洞讲起,详细阐述了利用Proxmark3等工具进行侦听、破解密钥及使用UID卡进行复制的完整攻击链条。同时,为防御方提供了从升级CPU卡、启用全扇区认证到部署多因子验证的系统性防护策略,旨在帮助管理员构建更稳固的物理安全防线。

weixin_29182481的博客 1404

LABVIEW学习之MODBUS-TCP通讯

LABVIEW学习之MODBUS-TCP通讯 1,MODBUS-TCP通讯介绍: MODBUS通讯是工业上面经常用到的一种通讯协议。该协议的原理及介绍不在此累述,下面直接介绍LABVIEW对此协议的应用。 2,MODBUS通讯所需的函数: 安装了DSC模块之后可以在数据通信内找到相关函数 3 ,主VI 主要思路就是使用状态机来进行连接 读取 写入 断开。使用枚举类型来选择状态: 1,连接 2,写入多个M继电器: 3,写入单个M继电器 4,写入双字节D...

风动9527的博客 2万+

Servlet常用方法

为什么80%的码农都做不了架构师?>>> ...

weixin_33836223的博客 640

企业固定资产管理的SAP实战:FICO模块配置与折旧范围设置详解

本文深入解析了SAP FICO模块中固定资产会计配置的核心实践,重点阐述了折旧范围的设计哲学与配置逻辑。通过详解折旧表、折旧范围、资产分类及折旧码等关键配置步骤,指导企业如何搭建满足多会计准则(如CAS、IFRS)与税务要求的资产管理体系,实现资产购置、折旧计提与报废清理的自动化与精准化。

wdx01234567的博客 729

servlet常用类

Servlet常用接口public interface Servlet这个接口是所有Servlet必须直接或间接实现的接口。它定义了以下方法:init(ServletConfig config) 用于初始化Servletdestory()销毁ServletgetServletInfo()获得Servlet的信息getServletConfig()获得Servlet配置相关信息service(Ser...

java 职业生涯 1572

ROS2 机械臂末端刀具执行曲面路径规划入门教程

Noether工具路径规划系统摘要 Noether是一款用于网格曲面刀具路径规划的软件,支持喷涂、打磨、检测等机器人工艺流程。其核心流程分为三步:1)网格修改(平滑、分割等预处理);2)刀具路径规划(生成有序路径点序列);3)刀具路径修改(姿态调整等后期处理)。系统提供栅格规划和边界规划两种模式,支持自定义扩展。配套GUI工具可配置完整流程,包含网格处理、路径生成和可视化功能。通过示例演示了多组件网格处理、拼图边缘铣削等典型应用场景,并指导用户进行插件开发,实现圆柱体提取、摄像机悬停等定制化功能。系统采用模

机器人控制与仿真应用 917

Allegro输出光绘文件规范

添加钻孔表的具体步骤为:1.通过屏幕右边的Visibility选项的Views列表,将Drill层打开2.将Visibility选项中的PIN和Via选项都选中,见下图所示: 参数设好之后关闭NC Drill/Parameters窗口,输出数控机床钻孔文件的命令菜单为:Manufacture=>NC=>NC Drill…,打开的窗口如下: 输出数控机床钻孔文件的具体步骤为: 上图是光绘输出的层控制窗口,还有一个窗口是输出参数的控制窗口,我们通过点击上图的第二个列表项General Parameters来

axingxiansen的博客 2810

常用的servlet包名,以及作用(servlet线程问题)

使用 Java 技术开发 WEB 应用程序 , 深入了解 Servlet 的机制对应用的开发将有重要的推动作用 . 而想深入了解 Servlet 的机制就不得不了解 javax.servlet 包 . javax.servlet 包中包含了 7 个接口 ,3 个类和 2 个异常类 , 它们分别是 : 接口 :RequestDispatcher,Servlet,ServletConfig,Servl...

疯狂的1024 3139

增益可控放大电路-电路与电子技术课程设计

增益可控放大电路-电路与电子技术课程设计

Yeats_Liao的博客 1万+

Servlet入门必备知识

什么是Servlet 1、servlet是javaEE规范之一。规范就是接口 2、servlet就是javaweb三大组件之一。三大组件分别是:servlet程序、Filter过滤器、Listenter监听器。 3、servlet是运行在服务器上的一个java小程序,它可以接受客服端发送过来得请求,并响应数据给客服端。 ...

weixin_60719453的博客 2357

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Servlet学习详解--基本涵盖所有Servlet知识点

Cookie 是一种在网站和应用程序中用于存储用户信息的小型文本文件。在一次会话的范围内的多次请求间,共享数据。当用户访问一个网站或应用程序时,该网站或应用程序会将一个包含用户信息的 Cookie 发送到用户的浏览器。浏览器会将该 Cookie 存储在用户的计算机上,并在以后的访问中将该 Cookie 发送回网站或应用程序。虽然 Cookie 对于提供个性化体验和方便用户来说非常有用,但它们也引发了一些隐私和安全问题。例如,第三方 Cookie 可以用于跟踪用户在多个网站上的活动,可能会侵犯用户的隐私。

qq_45794852的博客 1965

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

servlet知识点总结

目录Servlet主要知识点Servlet的实现Servlet的工作流程Servlet的生命周期HttpRequest对象HttpServletResponse对象Cookie对象Cookie的创建和发送Cookie的获取Cookie设置到期时间(失效时间)Cookie的注意事项HttpSession对象Session域对象Session的生命周期ServletContext对象ServletContext对象的获取ServletContext域对象Servlet的三大域对象 Servlet主要知识点 你好

m0_63622279的博客 1206

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Servlet 知识点汇总与简析

Servlet 是用 Java 编写的服务器端程序,运行在 Web 服务器或应用服务器上,作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

echo_123qq的博客 1081

Servlet基础知识点

Servlet基础知识点总结

撑到最后,才有然后 466

Servlet的重点知识总结

servlet:       1. servlet是什么?              就是运行在服务器端的java小程序。                 1) 客户端发送请求至服务器端; 2) 服务器将请求信息发送至 Servlet; 3) Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求; 4) 服务器将响应返回给客户端。      

知识在于积累 6822

Servlet知识总结

本篇博文总结以下Servlet的基础知识。

程铭程铭你快成名的博客 1656

Servlet+JSP知识点总结

Servlet+JSP知识点总结 pageContext.request.contextPath ${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> 。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,M

weixin_44404553的博客 568

Servlet的一些常用知识点

总结的关于servlet的一些小知识点,有的地方有些许错误请各位大佬批评指正,本人小白,只是一个简单的总结。 总结如下: 1、Servlet生命周期 *Servlet被实例化后,容器执行init(); *请求到达时运行service方法; *service方法自动运行与请求相应的doGet或doPost方法; *当服务器将实例销毁时调用destroy方法。 2、什么情况调用doGet或者doPost方法 *jsp表单中method是get方式时调用doGet方法, method如果是post方法时调用doP

qq_45626935的博客 180

Servlet入门详细教程(你不得不知道的Servlet知识点)

“人生如一杯茶,不会苦一辈子,但要苦一阵子。” 你好,我是梦阳辰!下面和我一起学习起来吧! 文章目录01.JavaEE概述02.系统架构分析03.Servelt 01.JavaEE概述 Java EE实质上是sun(oracle)公司为我们提供的强大的类库。 Java SE实质就是sun(oracle)公司提供的一套基础的类库。 Java EE是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用.随着WEB和EJB容器概念诞生,使得软件应用业开始担心SUN的伙伴们是否还.

轻松玩编程 2734

老师总结的Servlet知识点

Servlet知识点总结 1.搭建JavaEE开发环境 编写一个简单的Servlet<web.xml的配置> 2.Servlet生命周期 Web服务器在与客户端交互时Servlet的工作过程是: ##在客户端对web服务器发出请求; ##web服务器接收到请求后将其发送给Servlet; ##Servlet容器为此产生一个实例对象并调用ServletAPI中相应的...

l_van的博客 221

Servlet第一章知识点总结——Servlet 基础

Servlet第一章知识点总结——Servlet 基础   Java Web控制器Servlet程序设计   1.         WEB应用程序 a)         概念:                                       i.              WEB应用程序是在Internet(国际互联网)之上的一种应用程序

DBA@Robin 2467

JavaWeb-Servlet知识点记忆

JavaWeb-Servlet知识点记忆 Servlet运行逻辑运行图 备注:服务器在启动的时候,会把所有的web应用加载一次;注意,启动服务器的时候,并不会创建servlet实例对象;并且访问不同的动态资源会创建不同的servlet实例对象 ;一个动态资源只会创建一个servlet对象(第一次被访问的时候,创建) ; 目前所知的servlet知识点(有待添加) 1.servlet生命周期 第一...

qq_41297372的博客 588
上一篇: JDBC+mysql
下一篇: JSP内置隐含对象
Champion_netjava
博客等级 码龄16年 10粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值