? ? ? ?我们可以使用Eclipse或者MyEclipse这样的工具很方便的开发使用Servlet的动态页面,但这是自己配置运行第一个Servlet的过程。刚开始学Servlet都是一些很简单的问题,记录一下。经过一个这样的工程也可以加深自己对这个过程的理解。大概的过程是使用安装了开发web应用插件的Eclipse或MyEclipse编译好需要使用Servlet类文件,当然也可以使用记事本和javac命令来编译需要的class文件。然后在将这个类文件及其完整的打包路径拷到应用的WEB-INF目录下,在配置和classes同一级目录下的web.xml文件,就是通过这个文件下配置信息来访问Servlet类文件。具体的过程:
一、编写Servlet类,我们只让它做一件很简单的事就是让他输出一句话表名我们成功访问到了我们的Servlet。具体的java代码如下:
package my.fist; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Sevelet */ @WebServlet("/Sevelet") public class Sevelet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Sevelet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("doPost print!"); } }
?
二、复制在Eclipse工作目录下的classes文件,到Tomcat应用的WEB-INF目录下。
?具体的是/workspace/servlet/build/下的classes文件拷到/servlet/WEB-INF/下,这里的workspace是我的Eclipse工作目录,而/servlet是我Tomcat下一个应用的目录。
三、配置web.xml文件,这一步使我们可以访问我们的Servlet。这是我自己的。
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <servlet> <servlet-name>FistServlet</servlet-name> <servlet-class>my.fist.Sevelet</servlet-class> </servlet> <servlet-mapping> <servlet-name>FistServlet</servlet-name> <url-pattern>/Servlet</url-pattern> </servlet-mapping> </web-app>
?这个配置应该对应如下这样的目录结构:
WEB-INF/classes/my/fist/Sevelet.class
? ? ? ? ? ? ? /web.xml
这个配置文件实际上是指明了到哪里去找我们的Servlet类文件,它实际上是在和这个配置文件同一层的classes文件下面,在通过<servlet-class></servlet-class>标签指出其路径是并没有指出其classes可能是Tomcat默认是在这个文件下找Servlet的类文件吧。
?
最后,在浏览器的地址栏输入我的测试的应用的路径就可以访问到我们的Serelet了,这里的地址中的第一个servlet目录是我们的tomcat应用,而后面的Servlet目录是我们在web.xml的配置中给Servlet命的名http://localhost:8080/servlet/Servlet。
?
总结,我觉得servlet的配置最复杂的地方在于其一系列目录地址的填写,如果能明白Tomcat是这样访问到我们的这个Servlet的,则其配置过程很简单。