Http请求分为两种类型,GET和POST,在Servlet中,有doGet()和doPost()方法,service()方法用来负责对这两种方法的调度。

*运行Servlet所要的环境配置

Servlet容器,这里用的是Apache Tomcat4.0.3,JDK1.4.2。在编译的时候经常会说servlet.*,servlet.http.*找不到,这时要将Tomcat目录/common/lib/servlet.jar复制到jdk目录/jre/lib/ext下,并在classpath中注册就可以了。

*最简单的Servlet
//Hello.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Hello extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException,ServletException{
         res.setContentType("text/html");
         PrintWriter out=req.getWriter();
         out.println("<html>");
         out.println("<head><title>Hello</title></head>");
         out.println("<body><h1>Hello</h1></body>");
         out.println("</html>");
    }
}

web.xml描述:
<web-app>
   <servlet>
       <servlet-name>Hello</servlet-name>
       <servlet-class>Hello</servlet-class>
    </servlet>
   <servlet-mapping>
      <servlet-name>Hello</servlet-name>
      <url-pattern>/servlet/Hello</url-pattern>
   </servlet-mapping>
</web-app>
注意:web.xml中元素的顺序不要写错.web.xml放在WEB-INF目录下,类文件放在WEB-INF/classes下.

*上面的servlet只能接收GET请求,添加接收POST请求功能
//加入以下方法
 public doPost(HttpServletRequest req,HttpServletResponse res) throws IOException,ServletException{
    doGet(req,res);//调用了doGet方法
}

*servlet中接收参数,只要加入
String nPara=req.getParameter("参数名");
out.println("your input is"+nPara);
相应的html文件可以这样写:
<html>
...
<form action="/servlet/Hello" method="get" name="fHello">
...
</form>
...
</html>

posted on 2004-08-09 20:01  rickyxing  阅读(200)  评论(0编辑  收藏  举报