Cookie
翻译:曲奇饼干
作用:会话跟踪
存在浏览器客户端,不安全
如何创建cookie:
new cookie创建
cookie.setMaxAge(1*24*60*60);持久化
cookie.setpath("/"); 和项目跟目录绑定
resp.addCookie(cookie); 响应到浏览器
cookie分类:瞬时cookie(默认) session级别
持久化max-age
cookie可以与路径绑定
获取cookie:cookie[ ] cs=req.getCookies();
通过
new Cookie("key","value");
来创建一个
Cookie
对象,
要想将
Cookie
随响应发送到客户端,需
要先添加到
response
对象中,
response.addCookie(cookie);
此时该
cookie
对象则随着响应发送至了
客户端。在浏览器上可以看见。
// 创建Cookie对象
Cookie cookie = new Cookie("uname","zhangsan");
// 发送Cookie对象
response.addCookie(cookie);
当访问的路径包含了
cookie
的路径时,则该请求将带上该
cookie
;如果访问路径不包含
cookie
路径,则该请求不会携带该
cookie
。
<form method="post" action="uploadServlet" enctype="multipart/form-data">
姓名:<input type="text" name="uname" > <br>
文件:<input type="file" name="myfile" > <br>
<button type="submit">提交</button>
</form>
@WebServlet("/uploadServlet")
@MultipartConfig // 如果是文件上传表单,一定要加这个注解
public class UploadServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// 设置请求的编码格式
request.setCharacterEncoding("UTF-8");
// 获取普通表单项 (文本框)
String uname = request.getParameter("uname"); // "uname"代表的是文本框的
name属性值
// 通过 getPart(name) 方法获取Part对象 (name代表的是页面中file文件域的name属性
值)
Part part = request.getPart("myfile");
// 通过Part对象,获取上传的文件名
String fileName = part.getSubmittedFileName();
// 获取上传文件需要存放的路径 (得到项目存放的真实路径)
String realPath = request.getServletContext().getRealPath("/");
// 将文件上传到指定位置
part.write(realPath + fileName);
}
}
超链接下载
<a href="test.zip">超链接下载</a>
<a href="test.txt" download>超链接下载</a>
上传与下载注意事项:
上传:1.提交方式,必须是post
2.encyype="multipart/form-data"
3.注解:@MultipartConfig
4.坐标 3.1.0以上
下载:<a href=" " download>下载</a>
<a href="down?fileName=aa.txt " >