Servlet提供服务的方法2-了解servlet

HTTP Servlets 使用 HTTP request 对象( HttpServletRequest ),它包含了 request URL HTTP 头信息、查询字符串,等等。 HTTP request URL 包括几个部分:
    http://:?

    一般情况下:

requestURI = contextPath + servletPath + pathInfo

Context path :通过 getContextPath 方法获得。
Servlet Path
:通过 getServletPath 方法获得。
PathInfo
:通过 getPathInfo 方法获得。

关于路径的对应

Request Path            

Path Elements:   /catalog/help/feedback.jsp

ContextPath:     /catalog

ServletPath:      /help/feedback.jsp

PathInfo: null

提供 HTTP 响应
   
响应( response )包含了在服务器和客户端之间传递的数据。所有的响应( response )都实现了 ServletResponse 接口。这个接口定义了一些方法提供给开发人员使用,如表 14-3 所示。

14-3 ServletResponse 接口方法

l         类型描述 : 获得向客户端发送数据的输出流

对应方法 :

getWriter(),

getOutputStream()

l         类型描述 : 指示响应返回的内容类型(例如: text/html )已经注册的内容类型名称保存在 IANA Internet Assigned Numbers Authority

对应方法 :

setContentType(java.lang.String type)

l         类型描述 : 指出是否是缓冲输出。默认情况下写入输出的内容被立即发送到客户端。使用缓冲后写入输出的内容先不发送到客户端,这样 Servlet 有更多的时间设置相应的状态码和头信息,或者转移到其他的 Web 资源

对应方法 :

flushBuffer()

getBufferSize()

isCommitted()

reset()  

resetBuffer()

setBufferSize(int size)

setContentLength(int len)

l         类型描述 : 设置 localization 信息

对应方法 :

getCharacterEncoding()

getLocale()

setLocale(java.util.Locale loc)

HTTP response 类( HttpServletResponse )有一些代表 HTTP 头信息的域:

状态码用来指出响应( response )失败的原因。

Cookies 在客户端存储应用相关的信息,有时 cookies 用来维护和标识用户的 session

Servlet 的设置顺序

1.         首先设置响应( response )头信息,包括响应( response )的内容类别和缓冲区大小,

2.         然后在 doGet 方法中从响应( response )获得 PrintWriter

3.         最后向输出中写入 HTML 代码,

4.         调用 close() 方法提交这次对客户端的响应( response )。

示范代码如下:

public void doGet (HttpServletRequest request,HttpServletResponse response)    throws ServletException, IOException {

// 设置头信息

response.setContentType("text/html");

response.setBufferSize(8192);

PrintWriter out = response.getWriter();

// response 中输出
    out.println("<html>" + "<head><title>+messages.getString("TitleBookDescription")+</title></head>");

//    ...

out.println("</body></html>");

// 关闭输出流
    out.close();
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值