Cookie
创建
Cookie cookie=new Cookie("name","value")
发送
response.addCookie(cookie)
获取
Cookie[] cookies=request.getCookies(cookies)
遍历
if (cookies != null && cookies.length > 0) {
for (Cookie cookie : cookies) {
String name = cookie.getName();
String value = cookie.getValue();
// 如果有中文需要解码 URLdecoder.decode()
name = URLDecoder.decode(name);
value = URLDecoder.decode(value);
System.out.println(name+"="+value);
// 得到指定的键的值
if (“uname”.equals(name)) {
System.out.println(“指定Coookie的值为:” + value);
}
}
}
删除
cookie.setMaxAge(0)
reponse.add(cookie)
设置路径
cookie.setPath("/")
Session
获取
HttpSession session=request.getSession( )
JSESSIONID是标识一次会话的唯一标识
Session的失效
关闭浏览器
关闭服务器
手动销毁
session.invalidate()
设置过期时间
session.getMaxInvalidate( )
session.setMaxInvalidate( ) (注参数以秒计算)
达到最大不活动时间默认为30可以自行修改
ServletContext
获取
ServletContext context=request.getServletContext( )
request .getSession.getServletContext( )
getServletConfig.getServletContext( )
getServletContext( )
方法
获取服务器版本 getServerInfo()
获取当前项目在服务器中真实路径 getRealPath()
文件上传
1.需要通过 HttpServletResponse.setContentType 方法设置 Content-type 头字段的值,为浏览器无法使用某种方式或激活某个程序来处理的 MIME 类型,
2.需要通过 HttpServletResponse.setHeader 方法设置Content-Disposition 头的值 为”attachment;filename=文件名”
3. 读取下载文件,调用 HttpServletResponse.getOutputStream 方法返回的 OutputStream 对象来向客户端写入附件内容。
前台
1、表单的提交类型为method=“POST”
2、表单类型设置为enctype=“multipart/form-data”
3、表单元素设置name属性值
后台代码实现
首先需要导入第三方 jar 包,下 载commons-io 和 commons-fileupload 两个 jar 的资源。解压并导入到项目中
实现步骤
1、 创建一个 DiskFileItemFactory 工厂类,并制定临时文件和大小
2、 创建 ServletFileUpload 核心类,接收临时文件,做请求的转换
3、 通过 ServletFileUpload 类转换原始请求,得到 FileItem 集合
4、 遍历集合中的各个元素并处理
5、 判断每个元素是否是普通表单项,如果是则按照普通表单项处理
6、 如果不是普通表单项,则是文件,通过处理的方式进行处理(上传)
文件下载
1:需要通过 HttpServletResponse.setContentType 方法设置 Content-type 头字段的值,为浏览器无法使用某种方式或激活某个程序来处理的 MIME 类型
2:需要通过 HttpServletResponse.setHeader 方法设置Content-Disposition 头的值 为”attachment;filename=文件名”
3: 读取下载文件,调用 HttpServletResponse.getOutputStream 方法返回的 OutputStream 对象来向客户端写入附件内容。