- request对象
<%@ page language="java" pageEncoding="gb2312"%>
<html>
<body>
提交方式: <%= request.getMethod() %><br> <br>
请求的URL地址: <%= request.getRequestURI() %><br> <br>
协议名称: <%= request.getProtocol() %><br> <br>
客户端请求服务器文件的路径: <%= request.getServletPath() %><br> <br>
URL的查询部分: <%= request.getQueryString() %><br> <br>
服务器的名称: <%= request.getServerName() %><br> <br>
服务器口号: <%= request.getServerPort() %><br> <br>
远程客户端的IP地址: <%= request.getRemoteAddr() %><br> <br>
</body>
</html>
提交方式: GET
请求的URL地址: /javaweb/requestTest.jsp
协议名称: HTTP/1.1
客户端请求服务器文件的路径: /requestTest.jsp
URL的查询部分: null
服务器的名称: localhost
服务器口号: 8088
远程客户端的IP地址: 127.0.0.1
![58932cb24f1b2fe389d836952e6d16ee.png](https://img-blog.csdnimg.cn/img_convert/58932cb24f1b2fe389d836952e6d16ee.png)
![d59dc5fed29de3158372aa38056ac3ec.png](https://img-blog.csdnimg.cn/img_convert/d59dc5fed29de3158372aa38056ac3ec.png)
二.Response对象
- 浏览器 地址显示栏
- redirect 方法 跳转 == 相当于 重新 请求了一次浏览器 <% response.sendRedirect("responseTest3.jsp"); %>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<body>
<% response.sendRedirect("responseTest3.jsp"); // 相对路径 %>
<!-- response.sendRedirect("/javaweb/responseTest3.jsp"); // 绝对路径 -->
</body>
</html>
![ef399709bb4ef781cd6b72958133a525.png](https://img-blog.csdnimg.cn/img_convert/ef399709bb4ef781cd6b72958133a525.png)
- forward动作方法
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<body>
<jsp:forward page="responseTest3.jsp"></jsp:forward>
</body>
</html>
![b965d8ef0a41a0b0114090d1c5c604dc.png](https://img-blog.csdnimg.cn/img_convert/b965d8ef0a41a0b0114090d1c5c604dc.png)
- 共享数据
- redirect方法
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
<%
response.sendRedirect("responseTest6.jsp");
%>
</body>
</html>
![914ef6fa7f9c29cb7c3a9e6c42ec3fba.png](https://img-blog.csdnimg.cn/img_convert/914ef6fa7f9c29cb7c3a9e6c42ec3fba.png)
2.forward方法
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
<jsp:forward page="responseTest6.jsp"></jsp:forward>
</body>
</html>
![7dfa6fc5a7c0025cf471a87a5095db88.png](https://img-blog.csdnimg.cn/img_convert/7dfa6fc5a7c0025cf471a87a5095db88.png)
- cookie操作
cookieP1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String str="12";
Int number=Integer.parseInt(str);
%>
该数字的 平方为: <%= number*number %> <hr>
<%
Cookie cookie=new Cookie("number",str);
cookie.setMaxAge(600);
response.addCookie(cookie);
%>
<a href="cookieP2.jsp"> 到达 P2 </a>
cookieP2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String str=null;
Cookie[] cookies=request.getCookies();
for(int i=0;i<cookies.length; i++) {
if(cookies[i].getName().equals("number") ) { str=cookies[i].getValue(); break; }
}
int number =Integer.parseInt(str);
%>
该数字 的 立方和 为: <%= number*number*number %>
![a6049f4a1b487c2bd4e47241c2da35e7.png](https://img-blog.csdnimg.cn/img_convert/a6049f4a1b487c2bd4e47241c2da35e7.png)
![5724fd481188d1f9a7a8ce215a6be219.png](https://img-blog.csdnimg.cn/img_convert/5724fd481188d1f9a7a8ce215a6be219.png)
- Session操作
- Cart1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
<%
ArrayList books = new ArrayList();
//购物车中添加
books.add("三国演义");
books.add("西游记");
books.add("水浒传");
%>
购物车中内容为:
<hr>
<%
//显示购物车中的内容
for (int i = 0; i < books.size(); i++) {
String book = (String) books.get(i);
out.println(book + "<BR>");
}
%>
</body>
</html>
![fa11a8dfb759ed82e61d3ac6864d4dfd.png](https://img-blog.csdnimg.cn/img_convert/fa11a8dfb759ed82e61d3ac6864d4dfd.png)
(二)两个JSP页面 没有一点关系
![a81e4c06d48e198b96b287d91098f3a5.png](https://img-blog.csdnimg.cn/img_convert/a81e4c06d48e198b96b287d91098f3a5.png)
- 放入和 获取
Cart3_1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
<%
ArrayList books = new ArrayList();
//向books中添加
books.add("三国演义");
books.add("西游记");
books.add("水浒传");
//将books放入session
session.setAttribute("books",books);
%>
<a href=" cart3_2.jsp">查看购物车</a>
</body>
</html>
Cart3_2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
购物车中内容为:
<HR>
<%
//从购物车中取出books
ArrayList books = (ArrayList)session.getAttribute("books");
//遍历books
for(int i=0;i<books.size();i++){
String book = (String)books.get(i);
out.println(book + "<BR>");
}
%>
</body>
</html>
![59a82e8adf6897b91120d68b727a8c51.png](https://img-blog.csdnimg.cn/img_convert/59a82e8adf6897b91120d68b727a8c51.png)
(四)session内容的丢失
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
<form action="sessionLost.jsp" method="post">
请您输入书本:<input name="book" type="text">
<input type="submit" value="添加到购物车">
</form>
<HR>
<%
//向session中放入一个集合对象
ArrayList books = new ArrayList();
session.setAttribute("books",books);
//获得书名
String book = request.getParameter("book");
if(book!=null){
book = new String(book.getBytes("ISO-8859-1"));
//将book加进去
books.add(book);
}
%>
购物车中的内容是:<BR>
<%
//遍历books
for(int i=0;i<books.size();i++){
out.println(books.get(i) + "<BR>");
}
%>
</body>
</html>
![fff52ed4c3216adaa84565ce4bd19441.png](https://img-blog.csdnimg.cn/img_convert/fff52ed4c3216adaa84565ce4bd19441.png)
- 解决办法
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
<form action=" handleSessionLost.jsp" method="post">
请您输入书本:<input name="book" type="text">
<input type="submit" value="添加到购物车">
</form>
<HR>
<%
//从session获取books,如果为空则实例化
ArrayList books = (ArrayList)session.getAttribute("books");
if(books==null){
books = new ArrayList();
session.setAttribute("books",books);
}
//获得书名
String book = request.getParameter("book");
if(book!=null){
book = new String(book.getBytes("ISO-8859-1"));
//将book加进去
books.add(book);
}
%>
购物车中的内容是:<BR>
<%
//遍历books
for(int i=0;i<books.size();i++){
out.println(books.get(i) + "<BR>");
}
%>
</body>
</html>
![d16b3baabe2e9fb556d52be81d660430.png](https://img-blog.csdnimg.cn/img_convert/d16b3baabe2e9fb556d52be81d660430.png)
- sessionId 同一个用户 同一个客户端 同一个浏览器------同一个客户 在网站的一次会话过程中共享
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<body>
<%
String id=session.getId();
out.println(" 当前sessionId为:"+id);
%>
<hr>
<a href="sessionId2.jsp"> 到达 下一个页面</a>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<body>
<%
String id=session.getId();
out.println("当前 sessionId为:"+id);
%>
</body>
</html>
![bff4aa8f063ab991f35477471fa25f86.png](https://img-blog.csdnimg.cn/img_convert/bff4aa8f063ab991f35477471fa25f86.png)
- application对象
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<body>
<%
Integer count=(Integer)application.getAttribute("count");
if(count==null){ count=new Integer(0); }
count++;
application.setAttribute("count", count);
%>
你是 该页面的 第<%= count %> 个 访问者
</body>
</html>
![475052452d734f32b37cb5ebce96f99d.png](https://img-blog.csdnimg.cn/img_convert/475052452d734f32b37cb5ebce96f99d.png)