如何配置Servlet
配置Servlet有两种方法:
1.直接创建Servlet
例如:在BSystem项目下的com.sky.servlet包下创建UserServlet
在src下右击“new”,选择“servlet”,出现“Servlet Wizard”界面:
? ? ? ??
其中“superclass”已经选择“javax.servlet.http.HttpServlet",
点击”next”,出现“XML Wizard”界面:
? ? ? ??
修改“Servlet/JSP Mapping URL”中的值,可以修改成“/UserServlet”,也可以不修改,点击“Finsh”。
完成后,会出现在com.sky.servlet包下出现一个“UserServlet.java”文件。里面的内容如下:
?
package com.sky.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class UserServlet extends HttpServlet {/** * Constructor of the object. */public UserServlet() {super();}/** * Destruction of the servlet. <br> */public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}/** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method * equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the * client * @throws ServletException if an error occurred * @throws IOException if an error occurred */public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");out.println("<HTML>");out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");out.println(" <BODY>");out.print(" This is ");out.print(this.getClass());out.println(", using the GET method");out.println(" </BODY>");out.println("</HTML>");out.flush();out.close();}/** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method * equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the * client * @throws ServletException if an error occurred * @throws IOException if an error occurred */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");out.println("<HTML>");out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");out.println(" <BODY>");out.print(" This is ");out.print(this.getClass());out.println(", using the POST method");out.println(" </BODY>");out.println("</HTML>");out.flush();out.close();}?
?你可以在你所需要的方法中写相应代码。
直接创建Servlet,会在/WebRoot/WEB-INF/web.xml的配置文件中增加以下内容:
<servlet> <description> This is the description of my J2EE component </description> <display-name> This is the display name of my J2EE component </display-name> <servlet-name>UserServlet</servlet-name> <servlet-class>com.sky.servlet.UserServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UserServlet</servlet-name> <url-pattern>/servlet/UserServlet</url-pattern> </servlet-mapping>
?其中的配置信息和“XML Wizard”界面中的信息是一致的。
?
2 手动的配置
(1)创建一个普通的class文件UserServlet.java文件。让其继承至于HttpServlet类,并继承其类中的方法。
(2)在WebRoot/WEB-INF/web.xml文件中配置,其配置信息和第一种方法中的WebRoot/WEB-INF/web.xml相似。
ps:其中<description></description>内中的信息可以省略点。
?
其实两种方法也是一种方法,无非是第一种不用写配置文件,MyEclipse会根据你在创建Servlet时输入的配置信息,自动生成。
?
?
?