概述
一、实验目的
实验3_1的目的是掌握怎样在JSP中使用内置对象request。
实验3_2的目的是掌握怎样使用session对象存储和用户有关的数据。
二、实验步骤
**实验3_1:**编写一个JSP页面input.jsp,该页面提供一个表单,用户可以通过表单输人两个数和四则运算符号提交给该页面。用户提交表单后,JSP页面input.jsp将计算任务交给另一个JSP页面result.jsp去完成。
input.jsp的具体要求:
input.jsp页面提供一一个表单,要求表单中提供两个text输人框,供用户输入数字;提
供一个下拉列表,该下拉列表有加、减、乘、除四个选项,供用户选择运算符号。用户在表单中输人的数字、选择运算符号提交给result.jsp页面。
result.jsp的具体要求:
要求result.jsp页面获取input.jsp提交的数据,并计算出相应的结果显示给用户。
**实验3_2:**本实验编写3个JSP页面login.jsp,show.jsp和exit.jsp。login.jsp页面提供-一个表单,用户可以通过表单输人姓名提交给login.jsp页面,login.jsp页面将用户的姓名存放到用户的session(会话)中。如果用户链接到show.jsp页面,该页面将检查用户的session中是否存放了姓名,否则就将用户重新定向到login页面;如果用户链接到exit.jsp页面,exit.jsp将销毁用户的session。
login.jsp的具体要求:
login.jsp页面提供-一个表单,要求表单中提供一个text 输入框,供用户输入名字提交给当前页面,login.jsp页面将用户输人的名字存放到用户的session(会话)中。
show.jsp的具体要求:
要求show.jsp页面可以显示一幅图像。但前提条件是,用户事先必须在session中存放有名字,否则无法看到图像,而且还会被重新定向到login.jsp页面。
exit.jsp的具体要求:
用户一旦访问exit.jsp页面,用户的session对象将被销毁,用户必须重新访问其他的页面获得新的session。
三、参考代码
实验3_1
input.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html ><body bgcolor =yellow >
<form action ="result.jsp" method =post name =form >
输入运算符、选择运算符号: <br >
<input type =text name ="numberOne" size =6 >
<select name ="operator" >
<Option value ="+" >加
<Option value ="-" >减
<Option value ="*" >乘
<Option value ="/" >除
</select >
<input type =text name ="numberTwo" size =6 >
<br >< input type ="submit" value =" 提交" name ="submit" >
</form ></body ></html >
result.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html ><body bgcolor =green >
<%
String numberOne=request.getParameter( "numberOne" );
String numberTwo=request.getParameter( "numberTwo" );
String operator=request.getParameter( "operator" );
if (numberOne== null ){
numberOne= "0" ;
}
if (numberTwo== null ){
numberTwo= "0" ;
}
try {
double a=Double.parseDouble(numberOne);
double b=Double.parseDouble(numberTwo);
double r=0;
if (operator.equals( "+" ))
r=a+b;
else if (operator.equals( "-" ))
r=a-b;
else if (operator.equals( "*" ))
r=a*b;
else if (operator.equals( "/" ))
r=a/b;
out.println(a+ "" +operator+ "" +b+ "=" +r);
}
catch (Exception e){
out.println( " 请输入数字字符! " );
}
%>
</body ></html >
实验3_2:
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<a href=login.jsp> 登录</a>
<a href=show.jsp> 看图</a>
<a href=exit.jsp> 退出</a>
</head>
<html><body bgcolor = yellow>
<form action="" method=post name=form>
输入名字就算登录了:<br>
<input type=text name="name" size=6>
<br><input type="submit" value=" 提交" name="submit">
</form>
</body></html>
<% String name=request.getParameter("name");
if(name==null)
name="";
session.setAttribute("login_name",name);
%>
Show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<a href=login.jsp> 登录</a>
<a href=show.jsp> 看图</a>
<a href=exit.jsp> 退出</a>
</head>
<html><body>
<%
String name=(String)session.getAttribute("login_name");
if(name==null||name.length()==0){
response.sendRedirect("login.jsp");
}
%>
<img src="image/back1.jpg"
width=200 height=178></img>
</body></html>
exit.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<a href=login.jsp> 登录</a>
<a href=show.jsp> 看图</a>
<a href=exit.jsp> 退出</a>
</head>
<html><body>
<%
session.invalidate();
%>
<b>session 会话失败</b>
</body>
</html>
四、实验结果
实验3_1:
input.jsp 页面:
验证加法:
提交后结果:
验证减法:
提交后结果:
验证乘法:
提交后结果:
验证除法:
提交后结果:
异常处理:
提交后结果:
实验3_2:
Login.jsp页面:
输入姓名提交 :
提交后:
点击看图:
点击退出:
五、讨论
1.HTTP通信协议是用户与服务器之间一种提交(请求)信息与响应信息(request/response)的通信协议。在JSP中,内置对象request封装了用户提交的信息,request对象获取用户提交信息的最常用的方法是getParameter(Strings);内置对象response对象对用户的请求作出动态响应,向用户端发送数据。
2.HTTP协议是一种无状态协议。一个用户向服务器发出请求(request),然后服务器返回响应(response) ,但不记忆连接的有关信息。所以,Tomcat 服务器必须使用内置session对象(会话)记录有关连接的信息。同一个用户在某个Web服务目录中的session是相同的;同一个用户在不同的Web服务目录中的session是互不相同的;不同用户的session是互不相同的。
3.一个用户在某个Web服务目录的session对象的生存期限依赖于用户是否关闭浏览器、session对象是否调用invalidate()方法使得session无效或session对象是否达到了设置的最长的“发呆”状态时间。
最后
以上就是难过金针菇为你收集整理的request对象、session对象一、实验目的二、实验步骤三、参考代码四、实验结果五、讨论的全部内容,希望文章能够帮你解决request对象、session对象一、实验目的二、实验步骤三、参考代码四、实验结果五、讨论所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复