myeclipse编写servlet
1、File--New--Other。搜索web--Dynamic Web Project--Next,Project name--Next,Next--web应用的根目录和web资源存放的目录----finish。
2、src新建Servlet--Next,Java package和class name--Next,勾选需要自动创建的方法--finish。
package cn.itcast.chapter04.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 TestServlet01 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.print("this servlet is created by myeclipse"); } }
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" 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"> <servlet> <display-name>TestServlet01</display-name> <servlet-name>TestServlet01</servlet-name> <servlet-class>cn.itcast.chapter04.servlet.TestServlet01</servlet-class> </servlet> <servlet-mapping> <servlet-name>TestServlet01</servlet-name> <url-pattern>/TestServlet01</url-pattern> </servlet-mapping> </web-app>
3、编写好Servlet文件和web.xml文件,保存,在控制台打开servers选项卡,找到Tomcat,右键Add deployment----把要部署的工程添加进去。
4、启动Tomcat,在浏览器上输入 http://localhost:8080/chapter04/TestServlet01 回车。端口号后面的分别为(工程名/Servlet名)。
5、如果出现404 错误代码,检查web.xml文件中的虚拟映射路径是否正确,特别注意<servlet-mapping>下的<url-pattern>后有“/”号。<url-pattern>中的内容为浏览器访问时的 servlet名。所以据此设置多重映射
6、servlet的多重映射(两种方法)
(1)、配置多个<servlet-mapping>元素,以上面的TestServlet01为例,在web.xml文件中对TestServlet01虚拟路径的映射进行修改。
<!-- 映射为TestServlet01 --> <servlet-mapping> <servlet-name>TestServlet01</servlet-name> <url-pattern>/TestServlet01</url-pattern> </servlet-mapping> <!-- 映射为Test02 --> <servlet-mapping> <servlet-name>TestServlet01</servlet-name> <url-pattern>/Test02</url-pattern> </servlet-mapping>
在浏览器中输入http://localhost:8080/chapter04/Test02 和 http://localhost:8080/chapter04/TestServlet01 访问的是同一个servlet。
(2)、在一个<servlet-mapping> 元素下配置多个<url-pattern> 子元素,以上面的TestServlet01为例,在web.xml文件中对TestServlet01虚拟路径的映射进行修改。
<!-- 映射为TestServlet01和Test03 --> <servlet-mapping> <servlet-name>TestServlet01</servlet-name> <url-pattern>/TestServlet01</url-pattern> <url-pattern>/Test03</url-pattern> </servlet-mapping>
浏览器中输入TestServlet01和Test03访问的都是同一个servlet。
7、从上两个例子发现,在一个<servlet-mapping>元素下配置多个<url-pattern>和配置多个<servlet-mapping>元素都可以实现映射路径的配置。