一个
首先,回顾最后一节提到的类结构。


你可以看到,genericservlet HttpServlet继承,但它也是一个抽象类,不能直接使用,只有继承。

常用的方法有两种在HttpServlet:

doGet
void doGet(HttpServletRequest请求,HttpServletResponse抛出IOException返回的响应),

在浏览器中访问浏览器时,该方法被调用。

doPost方法
无效的doPost(HttpServletRequest请求,HttpServletResponse抛出IOException返回的响应),

当在邮件中访问浏览器时,该方法被称为。

这两个函数的内部处理是基本相同的genericservlet.service()函数在上一节中描述的。

此外,其他HTTP请求也有相应的方法:




HTTP请求类
文件的方法

得到
DoGet()

后
DoPost()

头
DoHead()

把
DoPut()

删除
DoDelete()


HttpServletRequest


两参数的doGet()和()函数和doPost httpservletresponse HttpServletRequest对象。

HttpServletRequest接口代表了浏览器的请求,你可以通过这类浏览器向服务器发送的任何信息。PHP程序员,这类有些类似的几个变量,如_get美元美元美元,_post内容,_server等。常用的方法如下:


getParameter
字符串getParameter(String name)

获取指定变量名称对应的参数值的方法,实际上是javax.servlet.servletrequest接口的父亲。如果请求获取参数的查询字符串后,POST请求的形式获取参数,_get美元美元和_post阵列,类似于PHP。


Getparametervalues
字符串(String name){ } Getparametervalues

这种方法类似于getParameter()。这种方法应该用于当你想得到的表格属性将返回多个值。


方法
字符串中()

返回字符串获取或。


getrequesturi
getrequesturi(字符串)

得到请求的URI(不包括查询字符串)。PHP的$ _server { 'request_uri的等效}。


getservletpath
String getServletPath ()

得到该servlet的路径。PHP的$ _server { 'php_self的等效}。


getpathinfo
getpathinfo(字符串)

得到的是,PHP的_server美元{ 'path_info的等效}。


setcharacterencoding
无效setcharacterencoding(串新)

设置请求的编码,当需要处理汉字时,必须通过该方法设置正确的字符码,否则无法正确读取浏览器发送的文本。

也有很多有用的方法可以自己引用接口文档。




httpservletresponse


该httpservletresponse接口用于控制,服务器发送到客户端的内容,这相当于PHP的echo,头,等功能。


setcontenttype
无效setcontenttype(String类型)

设置返回值的类型。通常的HTML内容可以设置为文本/ HTML;字符集= UTF-8等等,而动态生成的图像可以被设置为图像/图片等。汉字输出之前,有必要明确通过这种方法输出的字符编码。它相当于写标题(内容类型:图像/图片)在PHP。


servletoutputstream
servletoutputstream getoutputstream()抛出IOException

当向客户端发送二进制数据时,需要通过该方法获得输出流。


getWriter
PrintWriter getWriter()抛出IOException

在向客户端发送文本数据时,需要通过该方法获得输出流。




示例程序


当最后一节建立了servlet,我丈夫成为一个java代码并把它添加到web.xml.in事实servlet部分,你可以设置servlet直接在web.xml servlet部分,Eclicpse会自动生成java代码对我们。

这次我们将建立表单提交,通过HTML表单提交数据,然后读取servlet中的数据并显示它。

首先右键单击WebContent目录,选择新建-> HTML,创建一个新的HTML文件,并将其命名为htmlpost.html.the下一步是选择HTML模板,直接使用默认值。

然后编辑htmlpost.html指这部分的源代码,源代码下载:

httppost_net.zip

右键单击在部署描述符中的servlet,并选择新建-> Servlet。



如下图的样子,包的名称com.idv2.learnjsp在java包进入,类的名字是在类的名字进入HttpPost,然后点击。


给出servlet映射的配置接口,并输入适当的描述。注意下面的URL映射,这是用于从浏览器访问servlet的URL。


下一步是选择新类的属性,通常默认。但我们的servlet只需要处理后的方法,所以下面只需要doPost方法重载。


最后,单击完成按钮,完成该servlet的建立,和Eclipse自动生成的java代码src目录文件的httppost.java框架。

编辑的java代码,这可以从下面的下载源代码。
httppost_net.zip

事实上,这段代码的主要内容是通过客户端的getParameter或Getparametervalues方法提交的数据,代码如下。
复制代码代码如下所示:
字符集
request.setcharacterencoding(UTF-8);

获取表单中的数据
out.println(用户名:+ request.getparameter(用户名));
out.println(密码:+ request.getparameter(密码));
out.println(确认密码:+ request.getparameter(confpass ));

获取复选框表单选项
字符串的利益{ } = request.getparametervalues(利益);
out.println(兴趣);
如果(兴趣)!= NULL){
为(int i = 0;i < interests.length;i++){
out.println(利益{我} + );
}
}