JSP的内置对象

一、实验目的

    通过编程和上机实验理解 JSP各个页面之间的响应和传递的过程。并且能够熟练的掌握JSP的内置对象的属性和方法,并能灵活运用。

二、实验要求

  1. 基础练习:request常用方法的使用。
  2. 编写获取表单数据。

三、实验内容

(一)基础练习:request常用方法的使用

1.用request的各种方法输出request中的各种方法,新建页面requestApp1.jsp源代码如下:

requestApp1.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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 'requestApp1.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
 <body>
		请求信息如下:<br>
		请求的方法是:<%=request.getMethod()%>
		<br>
		请求的URI是:<%=request.getRequestURI()%>
		<br>
		请求的协议是:<%=request.getProtocol()%>
		<br>
		接受客户提交信息的页面路径是:<%=request.getServletPath()%>
		<br>
		请求的协议是:<%=request.getProtocol()%>
		<br>
		请求中的查询字符串是:<%=request.getQueryString()%>
		<br>
		请求信息的总长度是:<%=request.getContentLength()%>
		<br>
		服务器名称是:<%=request.getServerName()%>
		<br>
		提供HTTP服务的服务器端口号是:<%=request.getServerPort()%>
		<br>
		客户端IP地址是:<%=request.getRemoteAddr()%>
		<br>
		客户端机器的名称是:<%=request.getRemoteHost()%>
		<br>
		HTTP头文件中User-Agent的值是:<%=request.getHeader("User-Agent")%>
		<br>
		HTTP头文件中accept的值是:<%=request.getHeader("accept")%>
		<br>
		HTTP头文件中Host的值是:<%=request.getHeader("Host")%>
		<br>
		HTTP头文件中accept-encoding的值是:<%=request.getHeader("accept-encoding")%>
		<br>头名字的一个枚举:
   		<% Enumeration enumHead=request.getHeaderNames();
     		 while(enumHead.hasMoreElements())
            {
             	out.println((String)enumHead.nextElement());
            }      
   		%>
		<br>头文件中指定头名字的全部值的一个枚举:
   		<% Enumeration enum_headedValues=request.getHeaders("cookie");
      		while(enum_headedValues.hasMoreElements())
            {
            	 out.println((String)enum_headedValues.nextElement());
            }      
   		%>
</body>

</html>

 

(二)获取表单数据

  1.建立一个新的WEB工程,再建立一个Register.jsp和Accept.jsp。

    (1)程序功能:实现页面与页面之间的信息交换。

   (2)程序源代码如下。

Register.jsp

<%@ page contentType="text/html;charset=gb2312"%>
<script language="javascript">
 function on_submit()
 {//验证数据的合法性
  if (form1.username.value == "")
			 {
			  alert("用户名不能为空,请输入用户名!");
			  form1.username.focus();
			  return false;
			 }
    if (form1.userpassword.value == "")
			 {
			  alert("用户密码不能为空,请输入密码!");
			  form1.userpassword.focus();
			  return false;
			 }
    if (form1.reuserpassword.value == "")
			 {
			  alert("用户确认密码不能为空,请输入密码!");
			  form1.reuserpassword.focus();
			  return false;
			 }
   if (form1.userpassword.value != form1.reuserpassword.value)
			 {
			 alert("密码与确认密码不同");
			 form1.userpassword.focus();
			  return false;
			 }
  if (form1.email.value.length!= 0)
		{
			for (i=0; i<form1.email.value.length; i++)
			  if (form1.email.value.charAt(i)=="@")
					break;
			if (i==form1.email.value.length)
			{
			  alert("非法EMail地址!");
			  form1.email.focus();
			  return false;
			 }	
			}
  else
       {
        alert("请输入Email!");
		form1.email.focus();
		return false;

        }
 }
</script>
<html>
<head>
<title>新用户注册</title>
</head>
<body>
<form method="POST" action=" Accept.jsp" name="form1" onsubmit="return on_submit()">
  新用户注册<br>
  用户名(*):<input type="text" name="username" size="20"><br>
  密&nbsp; 码(*):<input type="password" name="userpassword" size="20"><br> 
  再输一次密码(*):<input type="password" name="reuserpassword" size="20"><br>
  性别:<input type="radio" value="男" checked name="sex">男<input type="radio" name="sex" value="女">女<br>
  出生年月:<input name="year" size="4"  maxlength=4>年  
             <select name="month">
                  <option value="1" selected>1</option>
                  <option value="2">2</option>
                  <option value="3">3</option>
                  <option value="4">4</option>
                  <option value="5">5</option>
                  <option value="6">6</option>
                  <option value="8">7</option>
                  <option value="9">9</option>
                  <option value="10">10</option>
                  <option value="11">11</option>
                  <option value="12">12</option>
              </select>月 
              <input name="day" size="3"  maxlength=4>日<br>
  电子邮箱(*):<input name="email"  maxlength=28><br>
  家庭住址:<input type="text" name="address" size="20"><br>
  <input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"><br>
</form>
</body>
</html> 

  Accept.jsp

<%@ page contentType="text/html;charset=gb2312"%>
<%!
public String codeToString(String str)
{//处理中文字符串的函数
  String s=str;
  try
    {
    byte tempB[]=s.getBytes("ISO-8859-1");
    s=new String(tempB);
    return s;
}
catch(Exception e)
{
  return s;
}
}
%>
<html>
<head>
<title>接收新用户注册</title>
</head>
<body>
这是新用户注册所提交的数据:
<br>
用户名是:<%=codeToString(request.getParameter("username"))%><br>
密码是:<%=codeToString(request.getParameter("userpassword"))%><br>
性别是:<%=codeToString(request.getParameter("sex"))%><br>
出生年月是:<%=request.getParameter("year")+request.getParameter("month")+request.getParameter("day")%><br>
电子邮箱是:<%=request.getParameter("email")%><br>
家庭住址是:<%=codeToString(request.getParameter("address"))%><br>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值