当前位置: 首页 > 图文教程 > 网络编程 > JSP > 创建HTTP Servlet

JSP
jsp计数器制作
用jsp编写文件上载
基于JSP的动态网站开发技术
JSP由浅入深(3)—— 通过表达式增加动态内容
JSP由浅入深(5)—— Scriptlets和HTML的混合
JSP由浅入深(1)—— 熟悉JSP服务器
JSP由浅入深(12)—— 表单编辑
JSP由浅入深(11)—— 标记库
JSP由浅入深(10)—— Beans and Forms处理
JSP由浅入深(9)—— JSP Sessions
JSP由浅入深(8)—— JSP Tags
JSP由浅入深(6)—— JSP声明
JSP由浅入深(4)—— Scriptlets
JSP由浅入深(2)—— 第一个JSP
JSP由浅入深(7)—— JSP Directives
JSP中的字符替换函数 str_replace() 实现!
把一张图片变形扭曲成各种不同的长宽
用JSP编写通用信息发布程序
Java Servlet及Cookie的使用
Apache+Servlet+Jsp环境设置(上)

JSP 中的 创建HTTP Servlet


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 72 ::
收藏到网摘: n/a

创建一个 HTTP Servlet,通常涉及下列四个步骤:

1. 扩展 HttpServlet 抽象类。

2. 重载适当的方法。]如覆盖(或称为重写)doGet() 或doPost()方法。

3. 如果有 HTTP 请求信息的话,获取该信息。用 HttpServletRequest 对象来检索 HTML 表格所
提交的数据或 URL 上的查询字符串。"请求"对象含有特定的方法以检索客户机提供的信息,有3个可用的方法:
= getParameterNames(),
= getParameter(),
= getParameterValues()。

4. 生成 HTTP 响应。HttpServletResponse 对象生成响应,并将它返回到发出请求的客户机上。它
的方法允许设置"请求" 标题和"响应"主体。"响应"对象还含有 getWriter() 方法以返回一个 PrintWriter 对象。使用 PrintWriter 的 print() 和 println() 方法以编写 Servlet 响应来返回给客户机。或者,直接使用out对象输出有关HTML文档内容。
一个servlet样例(ServletSample.java)如下:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ServletSample extends HttpServlet { // 第一步: 扩展 HttpServlet 抽象类。

public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { // 第二步:重写doGet()方法

String myName = ""; // 第三步:获取HTTP 请求信息
java.util.Enumeration keys = request.getParameterNames();
while (keys.hasMoreElements());
{
key = (String) keys.nextElement();
if (key.equalsIgnoreCase("myName"))
myName = request.getParameter(key);
}
if (myName == "")
myName = "Hello";
// 第四步:生成 HTTP 响应。
response.setContentType("text/html");
response.setHeader("Pragma", "No-cache");
response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-cache");

out.println("<head><title>Just a basic servlet</title></head>");
out.println("<body>");
out.println("<h1>Just a basic servlet</h1>");
out.println ("<p>" + myName + ", this is a very basic servlet that writes an HTML page.");
out.println ("<p>For instructions on running those samples on your WebSphere应用服务器, "+
"open the page:");
out.println("<pre>http://<em>your.server.name</em>/IBMWebAs/samples/index.html</pre>");
out.println("where <em>your.server.name</em> is the hostname of your WebSphere应用服务器.");
out.println("</body></html>");
out.flush();
}
}
上述ServletSample类扩展 HttpServlet 抽象类、重写doGet()方法。在重写的doGet()方法中,获取HTTP 请求中的一个任选的参数(myName),该参数可作为调用的 URL 上的查询参数传递到 Servlet。使用示例如下:http://your.server.name/servlet/ServletSample?myname=Michael。