给JavaWeb的servlet发张合法身份证(IDEA中web.xml配置servlet)
为什么要配置?Tomcat等容器不能自动识别servlet,只有在web.xml中配置或者通过注解(在servlet3.0之后),容器才能识别url-pattern属性,以便前端或者app访问。
配置方法:
1、 配置前弄清楚:servlet的包名与类名
2、 web.xml的组成结构(必须是声明了web-app version=3.0或以上的3.1)
3、 配置项:servlet、servlet-map,注意前者表示声明servlet,后者建立名与url的映射关系(可以是servlet一对多url)。
4、 配置案例:
4.1、首先正确配置 IntelliJ IDEA 14.03 + Tomcat,配置好以后新建的项目结构如图所示:
(没有运行过的class文件夹是空的,运行过后class文件夹里面才会有.class文件)
4.2、自动建立的web.xml文件如图:
4.3、在<web-app>标签中插入<servlet>标签、<servlet-mapping>标签,如图:
4.4、代码: <?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_3_1.xsd" version="3.1"> <servlet> <servlet-name>Servlet</servlet-name> <servlet-class>Servlet.MyServlet</servlet-class> //<servlet-class>中的内容是固定的,必须是"Servlet所在包的名称.Servlet类的名称" </servlet> <servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/Servlet/MyServlet</url-pattern> </servlet-mapping> </web-app>
新建的四个标签中servlet-class标签的内容是固定的,不能随意修改;
servlet-name标签中的内容自定,但两个servlet-name标签中的内容必须相同;
url-pattern标签中的内容自定,如例子中url-pattern为 /Servlet/MyServlet ,tomcat端口(默认)为8080,
则启动项目后,在浏览器中输入http://localhost:8080/Servlet/MyServlet,即可访问到servlet所定义的页面。