现在用的jsp的页面里面都是静态的内容

如果需要使用一些动态的数据的话 我们就使用Servlet来代替jsp

重定向

重定向使用的一个对象是HttpServletResponse resp

resp.sendRedirect(’" "’) 你要跳转到的路径 (url)

http://localhost:8080/Test/index.jsp

http://localhost:8080/Test/success

请求转发

http://localhost:8080/Test/login

HttpServletRequest req

请求转发

重定向:地址栏里面的地址发生变化 发出的是两次请求 不安全 地址暴露 不传值

请求转发: 地址栏不发生变化 发出的是一次请求 安全 地址不暴露 传值

Session

	HttpSession session = req.getSession();
	HttpSession session1 = req.getSession(true);
	HttpSession session2 = req.getSession(false);123

HttpSession 方法

方法名说明
setAttribute(“key”,value)将值存放到session里面,这个值的作用范围在整个会话当中,存值的时候是一个键值对的形式
Object getAttribute(“key”)从session里面进行取值,取值的时候直接输入存放的键值对的key的值就可以了
String getId()session的id值

session的值存在于内存中的

存值
HttpSession session = req.getSession();
session.setAttribute("username", uname);

取值
HttpSession session = req.getSession();

String name = (String) session.getAttribute("username");123456789

Cookie

cookie存放的位置是在浏览器里面的

// 将用户名 存放到cookie里面
				Cookie cookies = new Cookie("username", uname);
				// cookie设置有效时间 7天
				cookies.setMaxAge(60 * 60 * 24 * 7);
				// cookie加到客户端
				resp.addCookie(cookies);123456

取Cookie里面的值

// 查看cookie里面有没有值
			Cookie[] cookies1 = req.getCookies();
			String names = "";
			String values = "";
			for (Cookie cookie2 : cookies1) {
				if (cookie2.getName().equals("username")) {
					names = "username";
					values = cookie2.getValue();
				}

				System.out.println(cookie2.getName() + "----*********---"
						+ cookie2.getValue());
			}
			if (names.equals("username")) {
				session.setAttribute("username", values);
				resp.sendRedirect("success");
				return;
			}