1、首先创建一个web项目,不会的请参考上面快速入门链接 2、使用maven引入相关依赖 3、创建一个类,继承Servlet接口 4、配置web.xml文件,配置servlet
<?xml version="1.0" encoding="UTF-8"?><!-- 这是xml文档的文档声明 --> <!-- - 这是XML Schema格式约束文件,此文件将约束用户编写xml文档的规则 --> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- - 映射一个servlet,简单的说,就是 - 如果我们把每一个servlet当成一个小程序,那么这一系列功能的实现代码(类)就抽象成一个小程序 - 我们需要在这里配置,让某些使用者(服务器,浏览器)知道,哪些是servlet,哪些是普通的用户访问不到的类,而 - servlet类(并且要配置到这里),就可以被用户通过url路径访问到 - 那么一个完整的程序,servlet一定不止一个,那么就需要先区分不同的servlet,所有下面<servlet>标签主要用于 - 指定一个servlet类,配置到当前的配置文件里,让使用者能够知道这个类是一个servlet。下面<servlet-class>com.yzpnb.servlet.Dome1</servlet-class>完成此功能 - 为这个servlet起一个唯一名字,用于区分不同servlet。下面<servlet-name>demo1</servlet-name>完成此功能,起名为demo1 --> <servlet> <servlet-name>demo1</servlet-name> <servlet-class>com.yzpnb.servlet.Dome1</servlet-class> </servlet> <!-- - 上面已经指定了一个类为servlet类,并为它起了一个唯一姓名 - 那么现在我们就可以通过这个唯一的姓名来对它进行额外配置 - 我们说过,servlet是通过浏览器访问url路径访问得到的,那么我们就需要给servlet指定一个url映射 - 指定映射后,当用户按规则访问指定路径后,即可请求到相应servlet中执行功能 - 首先<servlet-mapping>用来配置servlet映射 - 其后,指定为哪个servlet(通过唯一名字来指定)配置映射<servlet-name>demo1</servlet-name> - 最后,为其配置url映射路径<url-pattern>/demo1</url-pattern> --> <servlet-mapping> <servlet-name>demo1</servlet-name> <url-pattern>/demo1</url-pattern> </servlet-mapping> </web-app>5、创建一个jsp页面当做入口 6、配置TomCat访问项目(和快速入门中一样,参考快速入门标题"将web项目发布到tomcat服务器")
执行原理这里我说最后直接执行service方法,其实并不是这么回事,你暂时可以理解是执行service方法修改servlet创建时机,在< servlet >标签下配置即可
<servlet> <servlet-name>demo1</servlet-name> <servlet-class>com.yzpnb.servlet.Dome1</servlet-class> <!-- - <load-on-startup>标签用于指定servlet创建时机(默认是-1) - 如果标签内容是负数,会在servlet第一次访问时创建 - 如果标签内容是0或正整数,会在服务器启动时创建 --> <load-on-startup>5</load-on-startup> </servlet>小细节注解写法的简化
HttpServlet源码分析