目录
一、session(服务端)与Cookie(客户端)
1.cookie
(1)Servlet Cookie 方法
- public Cookie(String name,String value)
- String getName():获取name
- String getValue():获取value
- void setMaxAge(int expiry);最大有效期 (秒)
- void setValue(String newValue);设置 cookie 的值
(2)具体演示
服务端准备Cookie:response.addCookie(Cookie cookie)
页面跳转(转发,重定向)
客户端获取cookie: request.getCookies();
- 服务端代码
<%
//服务端
Cookie cookie1 = new Cookie("name","qqq");
Cookie cookie2 = new Cookie("pwd","qqq");
response.addCookie(cookie1);
response.addCookie(cookie2);
// 页面跳转到客户端(转发、重定向)
response.sendRedirect("result.jsp");
%>
- 客户端代码
<%
// 客户端
Cookie[] cookies = request.getCookies();
for(Cookie cookie:cookies){
out.print(cookie.getName()+"--"+cookie.getValue()+"<br/>");
}
%>
2.session
(1)定义
- a. session存储在服务端
- b. session是在 同一个用户(客户)请求时 共享
- c. 实现机制:第一次客户请求时 产生一个sessionid 并复制给 cookie的jsessionid 然后发给客户端。最终 通过session的sessionid-cookie的jsessionid
(2)session方法
- String getId() :获取sessionId
- boolean isNew() :判断是否是 新用户(第一次访问)
- void invalidate():使session失效 (退出登录、注销)
- Object getAttribute(String name):返回session对象中与指定名称绑定的对象,如果不存在则返回null
- void setMaxInactiveInterval(秒) :设置最大有效 非活动时间
- object getMaxInactiveInterval():获取最大有效 非活动时间
(3)示例
- 代码演示
<body>
<form action="check.jsp" method="post">
用户名:<input type="text" name="uname" ><br/>
密码:<input type="password" name="upwd" /><br/>
<input type="submit" value="登陆" /><br/>
</form>
</body>
<body>
<%
request.setCharacterEncoding("utf-8");
String name = request.getParameter("uname");
String pwd = request.getParameter("upwd");
if(name.equals("qqq") && pwd.equals("abc")){
//只有登录成功,session才会存在uname、upwd
session.setAttribute("uname",name);
session.setAttribute("upwd",pwd);
//session.setMaxInactiveInterval(10);
request.getRequestDispatcher("welcome.jsp").forward(request,response);
} else {
// 登录失败
response.sendRedirect("login.jsp");
}
%>
</body>
<body>
欢迎您:
<%
String name = (String) session.getAttribute("uname");
// 如果用户没有登录,而是直接通过地址栏访问welcome.jsp,则必然获取到的name是null
// 如果么有登录,应该跳转登录页面
if(name != null){
out.print(name);
} else {
response.sendRedirect("login.jsp");
}
%>
</body>
运行结果
二、JSP 文件上传
1.下载与配置
- 下载commons-fileupload.jar组件
在maven中下载
- 下载commons-io.jar
引入两个jar
编写index.jsp,代码如下
<body>
<form action="UploadServe" method="post" entype="multipart/form-data">
学号:<input name="sno"/><br/>
姓名:<input name="sname"/><br/>
上传照片:<input type="file" name="spicture"/><br/>
<input type="submit" value="注册"/>
</form>
</body>
创建Servlet