jsp九大内置对象_第四章 JSP内置对象

  1. 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

d59dc5fed29de3158372aa38056ac3ec.png

二.Response对象

  1. 浏览器 地址显示栏
  2. 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
  1. forward动作方法

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<html>

<body>

<jsp:forward page="responseTest3.jsp"></jsp:forward>

</body>

</html>

b965d8ef0a41a0b0114090d1c5c604dc.png
  1. 共享数据
  2. redirect方法

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<html>

<body>

<%

response.sendRedirect("responseTest6.jsp");

%>

</body>

</html>

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
  1. 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

5724fd481188d1f9a7a8ce215a6be219.png
  1. Session操作
  2. 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

(二)两个JSP页面 没有一点关系

a81e4c06d48e198b96b287d91098f3a5.png
  1. 放入和 获取

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

(四)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
  1. 解决办法

<%@ 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
  1. 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
  1. 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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值