Servlet主要知识点

Servlet主要知识点

什么是Servlet:

就是一个运行在WEB服务器上的小的java程序,用来接收和响应从客户端发送过来的请求,通常使用HTTP协议。

Servlet 就是Sun公司提供的一个动态网页开发技术。

Servlet的作用:

        用来处理从客户端游览器发送的请求,并且可以对请求作出响应

Servlet生命周期

Servlet生命周期的四个阶段的执行时机

阶段一:实例化 调用Servlet的构造器创建一个具体的Servlet对象的过程

阶段二:初始化 在初始化阶段,Init()方法会被调用

阶段三:就绪,Servlet被初始化后就处于能够响应请求的就绪状态,service(req,res)

阶段四:销毁Servlet容器停止或者重新启动都会引起销毁Servlet对象的动作,destroy();

Servelt配置

设置Servlet在服务器启动的时候被创建好

1  =0,表示容器启动时就会被创建,

<0,或未设置,代表servlet被请求时被执行

>0.值越小,启动的时机就越早

<load-on-startup> </load-on-startup>

 

Url-patten配置

共有三种:

完全路径匹配

目录匹配/通配符匹配:以/开始需要以 *元素

例如:/*. /aaa/*.   /aaa/bbb/*

后缀匹配:不能以/开始。可以以*开始的,目录匹配后后缀匹配不能混合使用

例如*.do  *.action

错误的写法 : /*.do

依次是 完全目录> 目录匹配 > 后缀匹配

 

ServletConfig对象

作用:获得servlet配置信息

  ServletConfig cfg  = getServletConfig();

获取init-param参数值

String getServletName();   —获得Servlet在web.xml中配置的name的值

String getInitParameter(String Name);  —获得Servlet的初始化参数的

Enumeration getInitParameterNames();  —获得所有Servlet的初始化参数的名称

String getServltContext();    —获得servletContext对象

 

请求方式

get请求

  • 在地址看输入一个地址
  • 点击页面中的链接
  • 表单的默认提交方式

Post请求:

将表单的Method属性设置为POST时,游览器会发送POST请求

getpost的区别:

Get的提交的参数会显示到地址栏上,而Post不显示

Get往往是有大小限制的,而Post没有大小的限制。

Get没有请求体,而Post有请求

ServletRequest接收参数

HttpServletRequest对象,游览器发来请求,提交数据到服务器端

String);        用于接收一个名称对应一个值的数据。

String[ ]   getgetParameter(String name  ParameterValues(String name);  )  — 用于接收一个名称对应的多个值的数据

Map  getparameterMap();         —用于接收表单中的所有数据,Mapkey是表单提交的参数的名称,map

value是提交参数的值

 

Enumeration getParameterNames()                    — 用于获取表单中提交的所有参数的名称

接收中文乱码

乱码的产生:客户端编码与服务器解码不一致

 

解决Get请求时的乱码问题

服务器端:

String username= request.getparameter(“username”);

Username= new String (username.getBytes(iso-8859″),”utf-8″);

注意:tomcat8以后,get默认编码为utf-8,不需要进行重新编码,只需要setcahracterXXX

客户端:

<meta http-equiv=”content-type” content=”text/html;charset=utf-8″>

解决post请求时的乱码问题

 

服务器端

Request.setCharacterEncoding(“utf-8”);

Response.setContentType(“text/htmlcharacter=utf-8″);

 

 

ServletRequest对象

请求方式:

Get 请求:

      在地址栏中输入一个地址

      点击页面中的链接

      表单的默认提交方式

Post 请求:

      将表单的Method属性设置为Post时,游览器会发送Post请求

Get 与 Post的区别:

      Get的提交参数会显示到地址栏上,而Post不显示

Get 往往有大小限制,而Post没有大小写的限制

get没有请求体,而Post有请求

 

服务器做出响应

HttpServletResponse对象,服务器端,接受完请求,返回数据给客户端

解决向页面输出中文乱码:

Response.setContentType(“text/html; charset = utf-8”);

setContentType()有两个作用  :

通知容器,在调用out.println方法输出时,使用指定的字符集

生成一个消息头(content-type), 通知游览器,服务器返回的数据类型和字符集

获得输出流

PrintWriter out  = response.getWriter();

发送数据

Out.println(“html代码”);

 

// 使用httpServletResponse 对象 响应数据到客户端

// 解决输出中文乱码

//response.setContentType(“text/html;character = utf-8 “);

response.setContentType(“text/html;charset = utf-8 “);

PrintWriter out  = response.getWriter();

out.println(“<h1>” + “hello:” + username + “</h1>”);

ServletResponse对象

重定向

什么是重定向?

服务器向游览器一个302状态码及一个location消息头(该消息头的值是一个地址,称之为重定向地址),游览器收到后会立即向重定向地址发出请求。

如何重定向?

Response.sendRedirect(String url)

重定向特点:

  • 重定向地址可以是任意的地址
  • 重定向之后,游览器地址的地址栏会发生改变
  • 重定向过程中涉及到web组件并不会共享同一个request和response对象

 

Servlet主要知识点

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114760.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • git rebase详解(图解+最简单示例,一次就懂)[通俗易懂]

    git rebase详解(图解+最简单示例,一次就懂)[通俗易懂]在拉公共分支最新代码的时候使用rebase,也就是gitpull-r但往公共分支上合代码的时候,使用merge

  • 我的第一次WebService接口开发

    我的第一次WebService接口开发前言最近项目上需要对接WebService接口,之前从来没有用过,这次都遇见了。记录下基础的使用和我遇见的问题。正文概述WebService接口百度一搜,各个介绍的都非常详细,由于刚开始没接触,看的也不是很懂。首先记住一句话:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。跨编程语言和跨操作系统平台:也就是说Asp.net开发的WebService我用java代码调用…

  • 基于Docker运行弹性集群的五个关键点之:运行高可用模式

    基于Docker运行弹性集群的五个关键点之:运行高可用模式

  • SD卡、TF卡、MMC卡以及eMMC芯片的介绍「建议收藏」

    SD卡、TF卡、MMC卡以及eMMC芯片的介绍「建议收藏」一、SD卡   1、简介       SD卡为SecureDigitalMemoryCard,即安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备。它在MMC的基础上发展而来,增加了两个主要特色:SD卡强调数据的安全,可以设定所储存的使用权限,防止数据被他人复制;另外一个特色就是传输速度比2.11版的MMC卡快。   2、外观及引脚定义   3、特性

  • 灰度测试与AB测试_测试种类有哪些

    灰度测试与AB测试_测试种类有哪些这个“常见”,是说当我们经历多了之后,会发现这个概念其实很常见,在当前你所处的这个人群中,发现大家都挂在嘴上。在最开始的测试学习中,其实很少提到这些概念,在职业生涯的前期,也很少需要考虑这些概念。分级测试一般用在系统测试阶段。分级测试,就是说对测试进行分级,区分什么重要、什么不重要,做区别对待。之所以需要区别对待,我总结有两个原因。一个是因为资源上的限制,时间、人力,让我们没有条件来做无差别覆盖。二是本身的限制,在测试阶段,提测质量往往是不尽人意的,只能是层层深入去做测试。.

  • ${sessionScope.user}的使用方法

    EL 全名为ExpressionLanguageEL 语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构:${sessionScope.user.sex}所有EL都是以${为起始、以}为结尾的。上述EL范例的意思是:从Session的范围中,取得用户的性别。假若依照之前JSPScriptlet的写法如下:Useruser=(Us

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号