实验三 JSP内置对象
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三JSP内置对象
一.实验目的
(1)了解JSP中9个内置对象request、reponse、out、session、application、config、
pagecontext、page、exception的基本概念。
(2)理解JSP内置对象的常用方法的功能。
(3)掌握JSP内置对象的应用。
二. 主要仪器设备及环境
(1)PC机
(2)操作系统:WINDOWSXP
(3)软件:记事本, JDK、TOMCAT,IE
三. 实验内容与步骤
1.用JSP的内置对象request在前后台页面间传递表单数据;
用内置对象前后台页面间的参数传递
(1)客户端主界面experiment3_1.jsp,表单封装了三个参数:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@ page contentType="text/html;charset=GBK"%>
(2)第一个后台响应experiment3_2.jsp,用request对象提取前台传过来的参数,验证输入的数据a、b、c分别是西文、数字、中文:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%!String s1,s2,s3;%>
<% s1=request.getParameter("a");
s2=request.getParameter("b");
s3=request.getParameter("c");
%>
This is experiment3_2.jsp page前台传过来的a=<%=s1%>
前台传过来的b=<%=s2%>
前台传过来的c=<%=s3%>
a+b+c=<%=s1+s2+s3%>
思考
●请检查结果都正确吗?尤其注意传输中文字符时是否为乱码?如果出现乱
码,如何修改代码?
可用书上介绍的方法,也可request.setCharacterEncoding("GBK");
答:没有出现乱码,只是experiment3_2.jsp的计算为字符串
●s1+s2+s3是什么运算?
答:字符串运算
(3)第二个响应界面experiment3_3.jsp,用request对象提取前台传过来的参数,进行运算后将其结果显示给客户端:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%!int x,y,z;%>
<%x=Integer.valueOf(request.getParameter("a")).intValue();
y=Integer.valueOf(request.getParameter("b")).intValue();
z=Integer.valueOf(request.getParameter("c")).intValue();
%>
从Experiment3_1.jsp传过来的参数求得体积:用request:<%=x*y*z%>
思考
●修改Experiment3_1.jsp什么地方才能响应experiment3_3.jsp?
答:在action那里修改,如下图所示:
●为什么三个数据都用
Integer.valueOf(request.getParameter("a")).intValue();语句处理?
答:因为三个数据都要转换成整数
●请在前台输入含有非数字字符数据,你看到什么结果?为什么?
答:会出现一下图的结果,因为强制转换为数字类型,不能为字符型进行计算。
2.购物车
使用session对象模拟购物车
(1)写一个experiment3_4.jsp文件,用表单输入用户姓名。如下图:
代码:
<%@page language="java"contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort ()+path+"/";
%>
<%session.invalidate();%><%--销毁所有session对象--%>
"/TR/html4/loose.dtd">