Servlet 笔记

来源:互联网 发布:tomcat打不开8080端口 编辑:程序博客网 时间:2024/06/05 02:40

1. get() 和 post()

get()方法:http://www.test.com/hello?key1=value1&key2=value2用?字符分隔,用&字符连接。GET 方法请求字符串中最多只能有 1024 个字符。
post()方法:POST 方法打包信息的方式与 GET 方法相同,并把它作为一个单独的消息发送。消息以标准输出的形式传到后台程序。
使用servlet读取表单数据:

  • getParameter():调用 request.getParameter() 方法来获取表单参数的值。
  • getParameterValues():如果参数出现不止一次,那么调用该方法并返回多个值,例如复选框。
  • getParameterNames():如果你想要得到一个当前请求的所有参数的完整列表,那么调用该方法。

2. HTTP 请求

头信息列表
Authorization 这个头信息用于客户端在访问受密码保护的网页时识别自己的身份。
Cookie 这个头信息把之前发送到浏览器的 cookies 返回到服务器。
Host 这个头信息指定原始的 URL 中的主机和端口。

3. HTTP 响应头信息

void reset() 清除缓冲区中存在的任何数据,包括状态码和头信息。void resetBuffer() 清除响应中基础缓冲区的内容,不清除状态码和头信息。

4. HTTP 状态码

状态码列表

public void setStatus(int statusCode) 该方法设置一个任意的状态码。setStatus 方法接受一个 int(状态码)作为参数。如果您的反应包含了一个特殊的状态码和文档,请确保在使用 PrintWriter 实际返回任何内容之前调用 setStatus。public void sendRedirect(String url) 该方法生成一个 302 响应,连同一个带有新文档 URL 的 Location 头。 public void sendError(int code, String message) 该方法发送一个状态码(通常为 404),连同一个在 HTML 文档内部自动格式化并发送到客户端的短消息

5. 过滤器

Servlet 过滤器是Java 类,可用于 Servlet 编程中的下述目的:
- 在它们访问后端资源之前,拦截这些来自客户端的请求。
- 在它们发送回客户端之前,处理这些来自服务器端的响应。
这是规范建议的各种类型的过滤器:
- 身份验证过滤器。
- 数据压缩过滤器。
- 加密过滤器。
- 触发访问事件资源的过滤器。
- 图像转换过滤器。
- 日志记录和审核过滤器。
- MIME-类型链过滤器。
- Tokenizing 过滤器。
- 转换 XML 内容的 XSL/T 过滤器。
过滤器仅仅是一个实现了 javax.servlet.Filter 接口的 Java 类。

6.Cookies

用 Servlet 设置 Cookies,三个步骤:
(1) 创建一个 Cookie 对象:用 cookie 名和 cookie 值调用 Cookie 构造函数,cookie 名和 cookie 值都是字符串。Cookie cookie = new Cookie("key","value");
记住,无论是名字还是值,都不应该包含空格和以下任何字符:[ ] ( ) = , " / ? @ : ;
(2) 设置最长有效期:你可以使用 setMaxAge 方法来指定 cookie 有效的时间(以秒为单位)。

response.addCookie(cookie); // 设置了一个最长有效期为 24 小时的 cookie。

(3) 发送 Cookie 到 HTTP 响应头:你可以使用response.addCookie来在 HTTP 响应头中添加 cookies,response.addCookie(cookie);

0 0