ServletResponse是什么

开发 后端
本文介绍ServletResponse是什么,以及Servlet生命周期是什么和重写GenericServlet.service()方法。

Servlet生命周期是什么?

一般的Servlet(GenericServlet,即与协议无关的Servlet)的生命周期:init() --> GenericServlet.service(ServletRequest req,ServletResponse res) --> destroy.

HttpServlet的生命周期: init() --> GenericServlet.service(ServletRequest req, ServletResponse res)---> service(HttpServletRequest req, HttpServletResponse resp) --> doXXXX()-->destroy.

有没有必要重写GenericServlet.service()方法?

对于HttpServlet来说没有必要。只需要重写它的doXXXX()方法就可以了。HttpServlet中service()方法会自动的根据用户请求类型把请求转发给相应的doXXXX()方法(例如doGet()方法)。

ServletRequest.getReader()和ServletRequest.getInputStream()如何使用?

注意两个方法不能同时使用。ServletRequest.getRealPath(String path)方法已经不推荐使用。请使用ServletContext.getRealPath(String path)方法。

ServletResponse缺省的字符集(charset)是什么?

ServletResponse缺省的字符集(charset)是ISO-8859-1,可以通过setContentType(java.lang.String)方法改变新的字符集。例如:setContentType("text/html; charset=Shift_JIS").关于字符集信息,可以浏览RFC 2045

HttpServletRequest.getRequestURI()和HttpServletRequest.getRequestURL()区别是什么?
request.getRequestURI() 返回值类似:/xuejava/requestdemo.jsp
request.getRequestURL() 返回值类似:http://localhost:8080/xuejava/requestdemo.jsp

HttpServletRequest.encodeURL()和HttpServletRequest.encodeRedirectURL(()区别是什么?为什么要有两个不同的方法呢?

当用URL-rewriting方式来管理Session的时候,需要用到以上的两个方法。两个方法的不同点是:两个方法确定是否需要包含session ID的逻辑不同。在调用HttpServletResponse.sendRedirect前,应该先调用encodeRedirectURL()方法,否则可能会丢失Sesssion信息。

【编辑推荐】

  1. 监听Servlet容器的方法
  2. Servlet和JavaServer Page使用介绍
  3. Http Servlet Request对象介绍
  4. Servlet API的强筋实力
  5. ServletContext的作用是什么
责任编辑:佚名 来源: IT168
相关推荐

2017-03-21 23:29:44

DevOps运维开发

2009-09-16 09:39:50

ccna是什么CCNA

2011-06-07 16:56:40

LDAP

2009-07-15 15:47:49

iBATIS是什么

2013-02-21 15:40:02

SDN

2009-03-26 15:48:00

2024-07-11 16:32:13

代码Java

2009-11-06 11:41:06

WCF是什么

2009-07-10 17:00:14

MyEclipse D

2011-06-30 18:23:08

2021-08-23 06:22:00

PaaSDevOps平台即服务

2012-03-15 15:02:27

iUI

2015-11-12 10:03:34

前端H5web

2009-06-22 13:48:45

JSF是什么

2012-03-09 10:46:35

Adobe AIR是什Adobe AIRAIR

2018-06-27 16:20:56

2021-01-21 17:27:05

区块链加密货币稳定币

2022-05-16 23:10:54

稳定币区块链加密货币

2019-11-27 09:03:49

JavaScriptJavaCSS

2024-04-02 08:02:11

Dockerk8s容器
点赞
收藏

51CTO技术栈公众号