好文档 - 专业文书写作范文服务资料分享网站

Java - Servlet入门教程 

天下 分享 时间: 加入收藏 我要投稿 点赞

} }

图7.10Post、Get处理方式不相同

7.5.2 处理HTTP请求头及表单信息

有关HTTP请求头的和表单的介绍,可参见第3章。

在下面的例子8中,servlet显示请求的HTTP头的值和表单提交的信息(可参考对比第3章例子4)。

例子8

提交信息的JSP页面 Example7_8.jsp:

<%@ page contentType=\

处理HTTP请求头的sevlet源文件 GetMessages.java: import java.io.*; import java.util.*;

16

import javax.servlet.*; import javax.servlet.http.*;

public class GetMessages extends HttpServlet {

public void init(ServletConfig config) throws ServletException {super.init(config); }

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException { //获得一个向客户发送数据的输出流: PrintWriter out=response.getWriter();

response.setContentType(\MIME类型。

out.println(\ out.println(\ // 客户使用的协议是:

out.println(\

String protocol=request.getProtocol(); out.println(protocol);

//获取接受客户提交信息的servlet: out.println(\ String path=request.getServletPath(); out.println(path); //客户提交的信息的长度:

out.println(\ int length=request.getContentLength(); out.println(length); // 客户提交信息的方式: out.print(\

String method=request.getMethod(); out.println(method);

//获取HTTP头文件中User-Agent的值: out.println(\

String header1=request.getHeader(\ out.println(header1);

//获取HTTP头文件中accept的值: out.println(\

17

String header2=request.getHeader(\ out.println(header2);

// 获取HTTP头文件中Host的值: out.println(\

String header3=request.getHeader(\ out.println(header3);

//获取HTTP头文件中accept-encoding的值: out.println(\

String header4=request.getHeader(\ out.println(header4); //获取客户的IP地址:

out.println(\ String IP=request.getRemoteAddr(); out.println(IP); // 获取客户机的名称:

out.println(\

String clientName=request.getRemoteHost(); out.println(clientName); // 获取服务器的名称:

out.println(\

String serverName=request.getServerName(); out.println(serverName); // 获取服务器的端口号:

out.println(\ int serverPort=request.getServerPort(); out.println(serverPort);

//获取客户端提交的所有参数的名字: out.println(\

Enumeration enum=request.getParameterNames(); while(enum.hasMoreElements())

{String s=(String)enum.nextElement(); out.println(s); }

// 文本框text提交的信息: out.println(\

String str=request.getParameter(\ out.println(str); out.println(\

18

out.println(\ }

public void doGet(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException {

doPost(request,response); } }

下面的例子9用servlet实现用户注册。用户通过一个JSP页面提交姓名和email地址实现注册。当servlet获取这些信息后,首先检查散列表对象中是否已经存在这个名字,该散列表存储了已经注册的用户的名字。如果目前准备注册的用户提交的名字在散列表中已经存在,就提示客户更换名字,否则将检查客户是否提供了书写正确的email地址,如果提供了书写正确email地址将允许注册(仅仅要求email地址中不允许出现空格)。

例子9(效果如图7.11所示) 提交注册名字的JSP页面 Example7_9.jsp:

<%@ page contentType=\

输入你的姓名:

输入你的e-mail地址:

点击送出按钮:

19

图7.10 Post、Get处理方式不相同

sevlet源文件

LoginByServlet.java: import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*;

public class LoginByServlet extends HttpServlet { Hashtable hashtable=new Hashtable();

public void init(ServletConfig config) throws ServletException {super.init(config); }

public synchronized void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException { //获得一个向客户发送数据的输出流: PrintWriter out=response.getWriter();

response.setContentType(\ response.setContentType(\MIME类型。 out.println(\ out.println(\ //获取用户提交的名字:

String person_name=request.getParameter(\ name_found=null; if(person_name==null)

20

Java - Servlet入门教程 

}}图7.10Post、Get处理方式不相同7.5.2处理HTTP请求头及表单信息有关HTTP请求头的和表单的介绍,可参见第3章。在下面的例子8中,servlet显示请求的HTTP头的值和表单提交的信息(可参考对比第3章例子4)。例子8提交信息的JSP页面Exampl
推荐度:
点击下载文档文档为doc格式
3hele9681999g5n14byc
领取福利

微信扫码领取福利

微信扫码分享