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();
}

你可能感兴趣的:(html,jsp,应用服务器,Web,servlet)