网站导航:首页 -> JAVA认证 -> JAVA认证考试指导 -> Java Servlet 和 JSP教程(6)

Java Servlet 和 JSP教程(6)

java servlet 和 jsp教程(6)

测试表单

下面是向上述 servlet发送数据的表单postform.html?拖袼?有包含密码输入域的表单一样,该表单用post方法发送数据。我们可以看到,在servlet中同时实现doget和dopost这两种方法为表单制作带来了方便。

<!doctype html public '-//w3c//dtd html 4.0 transitional//en'>
<html>
<head>
<title>示例表单</title>
</head>

<body bgcolor='#fdf5e6'>
<h1 align='center'>用post方法发送数据的表单</h1>

<form action='/servlet/hall.showparameters'
method='post'>
item number:
<input type='text' name='itemnum'><br>
quantity:
<input type='text' name='quantity'><br>
price each:
<input type='text' name='price' value='$'><br>
<hr>
first name:
<input type='text' name='firstname'><br>
last name:
<input type='text' name='lastname'><br >
middle initial:
<input type='text' name='initial'><br>
shipping address:
<textarea name='address' rows=3 cols=40></textarea><br>
credit card:<br>
<input type='radio' name='cardtype'
value='visa'>visa<br>
<input type='radio' name='cardtype'
value='master card'>master card<br>
<input type='radio' name='cardtype'
value='amex'>american express<br>
<input type='radio' name='cardtype'
value='discover'>discover<br>
<input type='radio' name='cardtype'
value='java smartcard'>java smartcard<br>
credit card number:
<input type='password' name='cardnum'><br>
repeat credit card number:
<input type='password' name='cardnum'><br><br>
<center>
&l t;input type='submit' value='submit order'>
</center>
</form>

</body>
</html>


5 http请求头

5.1 http请求头概述

http客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是get或者post)。如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但content-length除外。对于post请求来说content-length必须出现。

下面是一些最常见的请求头

accept:浏览器可接受的mime类型。

accept-charset:浏览器可接受的字符集。

accept-encoding:浏览器能够进行解码的数据编码方式,比如gzip。servlet能够向支持gzip的浏览器返回经gzip编码的html页面。许多情形下这可以减少5到10倍的下载时间。

& nbsp; accept-language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。

authorization:授权信息,通常出现在对服务器发送的www-authenticate头的应答中。

connection:表示是否需要持久连接。如果servlet看到这里的值为“keep-alive”,或者看到请求使用的是http 1.1(http 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如applet,图片),显著地减少下载所需要的时间。要实现这一点,servlet需要在应答中发送一个content-length头,最简单的实现方法是:先把内容写入bytearrayoutputstream,然后在正式写出内容之前计算它的大小。

content-length:表示请求消息正文的长度。

cookie:这是最重要的请求头信息之一,参见后面《cookie处理》一章中的讨论。

from:请求发送者的email地址,由一些?厥獾?web客户程序使用,浏览器不会用到它。

host:初始url中的主机和端口。

if-modified-since:只有当所请求的内容在指定的日期之后又经过修改才返回它,否则返回304“not modified”应答。