实验三 JSP内置对象
- 格式:doc
- 大小:154.00 KB
- 文档页数:8
实验三 JSP内置对象
一.实验目的
(1) 了解JSP中9个内置对象request、reponse、 out、 session、 application、 config、
pagecontext、 page、 exception的基本概念。
(2) 理解JSP内置对象的常用方法的功能。
(3) 掌握JSP内置对象的应用。
二. 主要仪器设备及环境
(1)PC机
(2)操作系统:WINDOWS XP
(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"%>
这是第一个JSP
大家好!恭喜你的第一个JSP
第一个数:
第二个数:
第三个数:
(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">
用户登录
action="expriment3_5.jsp">
欢迎来到本页面,请输入你的姓名
(2)另写experiment3_5.jsp,用表单让用户选择书籍。如下图
代码:
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
"/TR/html4/loose.dtd">
购物车
<%
request.setCharacterEncoding("gb2312");
String name = request.getParameter("name");
if(name != null) {
session.setAttribute("sessionname",name);
out.println(name+",欢迎您的进入!");
}
%>
点击超链接,连接到main.jsp的页面,去修改姓名。
href="experiment3_4.jsp">欢迎去main.jsp!
请选择你要购买的书籍:
Java教程
数据库原理
操作系统
C语言教程
去结账: 欢迎去count.jsp!
(3)最后写experiment3_6.jsp显示用户名和选择的书籍。如下图
代码:
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
"/TR/html4/loose.dtd">