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>