一、Servlet理解:
- Servlet规范是web服务器(Tomcat)和web应用之间的一个协议,用法上跟JDBC(web应用和数据库)类似。
- Servlet接口SUN公司已经写好了,我们只需要编写类实现 Servlet接口。
- Tomcat(web服务器)如何通过路径调用我们写的类?我们需要将编写的类写到配置文件中,在配置文件中指定“路径”和“类名”的关系。
- Servlet规定了该配置文件的存放路径和文件名,不能自己随便改。
- Servlet规定了web应用的目录结构,规定了java程序放在哪里。
- 这样Tomcat(web服务器)才能和web应用联系起来(解耦合),Tomcat(web服务器)才能运行web应用。
二、开发一个带有Servlet的web应用步骤:
- 开发步骤:
第一步:在webapps目录下新建一个目录,给我们的app起名crm,这是webapp的根路径。
第二步:在crm目录下新建一个目录:WEB-INF(这个名字不能改,是Servlet规定的)
第三步:在WEB-INF下新建一个目录:classes(这个名字不能改,且存放class文件,是Servlet规定的)
第四步:在WEB-INF下新建一个目录:lib(这个名字不能改,且存放第三方jar包,是Servlet规定的)
第五步:在WEB-INF下新建一个目录:web.xml(这个名字不能改,该配置文件描述了路径和Servlet类之间的对照关系,是Servlet规定的)。模板:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>
第六步:编写java程序,我们不需要编写main方法,我们只要实现Servlet接口的5个方法,并且将实现类注册到xml文件中即可。
第七步:编译我们编写的java程序。
第八步:将编译后的class文件拷贝到WEB-INF\classes目录下。
第九步:在web.xml文件中编写配置信息,注册Servlet类。
<!--servlet描述信息-->
<servlet>
<servlet-name></servlet-name>
<!--这个位置是带有包名的全限定类名-->
<servlet-class></servlet-class>
</servlet>
<!--servlet映射信息-->
<servlet-mapping>
<servlet-name></servlet-name>
<!--这里给Servlet类规定一个路径,路径名必须以 / 开始-->
<url-pattern></url-pattern>
</servlet-mapping>
<!--原理:服务器通过URL中的url-pattern寻找这个路径的servlet-name,通过servlet-name匹配对应的class文件-->
<!--实际上web服务器启动时将所有servlet以键值对的方式url-pattern,servlet-class添加到一个map集合中-->
第十步:启动web服务器。
第十一步:打开浏览器,输入url,运行该java程序,url项目名后的路径名是web.xml中定义的路径名。