java请求组装cookie和header

java请求组装cookie和header,第1张

java请求组装cookie和header在某些处理http协议的java包中,可以看到对header的生成提供了专门的方法,类似于addHeader这样的,有的还封装了专门针对cookie的方法,搞得好像cookie和header是两码事,我在用org.apache.http的时候都被搞晕了。http协议很简单,能放数据的地方真的不多,那些额外的数据几乎都是放在header中。

java设置cookie是通过 Servlet 设置的。

通过 Servlet 设置 Cookies 包括三个步骤:

(1) 创建一个 Cookie 对象:您可以调用带有 cookie 名称和 cookie 值的 Cookie 构造函数,cookie 名称和 cookie 值都是字符串。

Cookie cookie = new Cookie("key","value")

请记住,无论是名字还是值,都不应该包含空格或以下任何字符:

[ ] ( ) = , " / ? @ :

(2) 设置最大生存周期:您可以使用 setMaxAge 方法来指定 cookie 能够保持有效的时间(以秒为单位)。下面将设置一个最长有效期为 24 小时的 cookie。

cookie.setMaxAge(60*60*24)

(3) 发送 Cookie 到 HTTP 响应头:您可以使用 response.addCookie 来添加 HTTP 响应头中的 Cookies,如下所示:

response.addCookie(cookie)

(4)完整实例:

// 导入必需的 java 库

import java.io.*

import javax.servlet.*

import javax.servlet.http.*

// 扩展 HttpServlet 类

public class HelloForm extends HttpServlet {

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException

{

// 为名字和姓氏创建 Cookies

Cookie firstName = new Cookie("first_name",

request.getParameter("first_name"))

Cookie lastName = new Cookie("last_name",

request.getParameter("last_name"))

// 为两个 Cookies 设置过期日期为 24 小时后

firstName.setMaxAge(60*60*24)

lastName.setMaxAge(60*60*24)

// 在响应头中添加两个 Cookies

response.addCookie( firstName )

response.addCookie( lastName )

// 设置响应内容类型

response.setContentType("text/htmlcharset=UTF-8")

PrintWriter out = response.getWriter()

String title = "设置 Cookies 实例"

String docType =

"<!doctype html public \"-//w3c//dtd html 4.0 " +

"transitional//en\">\n"

out.println(docType +

"<html>\n" +

"<head><title>" + title + "</title></head>\n" +

"<body bgcolor=\"#f0f0f0\">\n" +

"<h1 align=\"center\">" + title + "</h1>\n" +

"<ul>\n" +

" <li><b>名字</b>:"

+ request.getParameter("first_name") + "\n</li>" +

" <li><b>姓氏</b>:"

+ request.getParameter("last_name") + "\n</li>" +

"</ul>\n" +

"</body></html>")

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11595304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存