Jsp内置对象实验报告

一、实验题目

Jsp内置对象

二、实验目的

  1. 了解JSP中4个内置对象request、reponse、session、pagecontext的基本概念。
  2. 理解JSP内置对象的常用方法的功能。
  3. 掌握JSP内置对象的应用。

三、实验内容

  1. request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
  2. response对象:response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
  3. session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。
  4. pageContext对象pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者。
  5. 练习(自己完成)

四、实验实现

 1、实验要求:

实验1  request对象使用

实验2  response对象

实验3  session对象使用

实验4 pageContext对象使用

2、核心代码:

 

实验1:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">
		<title>My JSP 'index.jsp' starting page</title>
	</head>
	<body bgcolor="#FFFFF0">
		<form action="" method="post">
			<input type="text" name="qwe">
			<input type="submit" value="提交">
		</form>
		请求way:<%=request.getMethod()%><br>
		请求的resourse:<%=request.getRequestURI()%><br>
		请求用的协议:<%=request.getProtocol()%><br>
		请求的文name:<%=request.getServletPath()%><br>
		请求的服务器的IP:<%=request.getServerName()%><br>
		请求服务器的port:<%=request.getServerPort()%><br>
		客户端IP address:<%=request.getRemoteAddr()%><br>
		客户端主机名:<%=request.getRemoteHost()%><br>
		表单提交来的值:<%=request.getParameter("qwe")%><br>
        <%
			String str = "";
			if (request.getParameter("qwe") != 9999999999999) {
			   Enumeration enumt = request.getParameterNames();
			   while (enumt.hasMoreElements()) {
				str = enumt.nextElement().toString();
				out.println(str + ":" + request.getParameter(str) +  "<br>");
			   }
			}
		%>
	</body>
</html>
实验2 :
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">
		<title>what you want?</title>
	</head>
	<body>
		<%
			String address = request.getParameter("where");
			if (address != null) {
				if (address.equals("baidu"))
					response.sendRedirect("http://www.baidu.com");
				else if (address.equals("unioncom"))
					response.sendRedirect("http://www.unioncom.cn");
				else if (address.equals("myfavorite"))
					response.sendRedirect("myfavorite.jsp");
			}
		%>
		<b>Please select:</b>
		<br>
		<form action="" method="GET">
			<select name="where">
				<option value="baidu" selected>go to baidu</option>
				<option value="unioncom">go to unioncom</option>
				<option value="myfavorite">go to myfavorite</option>
</select>
			<input type="submit" value="go">
		</form>
	</body>
</html>
实验3 :
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">
		<title>My JSP 'index.jsp' starting page</title>
	</head>
	<body>
		<br>
		session的创建时间:<%=session.getCreationTime()%>&nbsp;&nbsp;<%=new
		Date(session.getCreationTime())%>
		<br>
		<br>
		session的Id号:<%=session.getId()%><br>
		<br>
		最近一次请求:<%=session.getLastAccessedTime()%>&nbsp;&nbsp;<%=new java.sql.Time(session.getLastAccessedTime())%><br>
		<br>
		间隔时间SESSION被取消(ms):<%=session.getMaxInactiveInterval()%><br>
		<br>
		是否是新创建SESSION:<%=session.isNew()?"yes" : "no"%><br>
		<br>
		<%
			session.setAttribute("my name", "刘大咖");
			session.setAttribute("nuuuumber", "666666");
		%>
		<%
		    String  str;
		    //Enumeration为枚举类
		    Enumeration<String>  enum1=session.getAttributeNames();
			while(enum1.hasMoreElements()){
			   str=enum1.nextElement().toString();
			   out.println(str+":"+session.getAttribute(str)+"<br>");
			}
		%>
		<br>
	</body>
</html>实验4:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">
		<title>pageContext对象举例</title>
	</head>
	<body>
		<%
			request.setAttribute("name", "人工智能007");
			session.setAttribute("name", "数据分析008");			
			application.setAttribute("name", "程序员669");
		%>
		request设定的值:<%=pageContext.getRequest().getAttribute("name")%><br>
		session设定的值:<%=pageContext.getSession().getAttribute("name")%><br>
		application设定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>
		范围1内的值:<%=pageContext.getAttribute("name", 1)%><br>
		范围2内的值:<%=pageContext.getAttribute("name", 2)%><br>
		范围3内的值:<%=pageContext.getAttribute("name", 3)%><br>
		范围4内的值:<%=pageContext.getAttribute("name", 4)%><br>
		<!--在最小的page开始,其次是reques、session最后application-->
		<%
			pageContext.removeAttribute("name", 3);
		%>
		pageContext修改后的session设定的值:<%=session.getAttribute("name")%><br>
		<%
			pageContext.setAttribute("name", "深度学习技术培训", 4);
		%>
		pageContext修改后的application设定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>
		值的查找:<%=pageContext.findAttribute("name")%><br>
		属性name的范围:<%=pageContext.getAttributesScope("name")%><br>
	</body>
</html>

实验1:

 

 

 

实验2:

 

实验3:

 

 

 

 

 

实验4:

  • 实验心得
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

specialApe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值