编写好的Servlet如果需要进行使用浏览器访问,那么需要对其进行基本的配置。
web.xml
一对一配置(基本配置) <servlet> --- 配置一个servlet <servlet-name>helloservlet</servlet-name> --- 指定servlet的名字(任意) --- 指定servlet具体的类的全限定名(包名.类名) <servlet-class>cn.itcast.servlets.HelloServlet</servlet-class> </servlet> <servlet-mapping> --- 映射一个servlet <servlet-name>helloservlet</servlet-name> --- 需要映射的servlet名 <url-pattern>/helloservlet</url-pattern> --- 浏览器需要访问的路径 </servlet-mapping>
一对多配置(基本配置) <servlet-mapping> <servlet-name>Mapping1</servlet-name> <url-pattern>/map1</url-pattern> <url-pattern>/map2</url-pattern> </servlet-mapping>
使用*进行映射
DTD * 0到多个 Xpath //* 表示所有元素 在servlet中*匹配的任意个字符 <servlet-mapping> <servlet-name>Mapping2</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
发现一个问题:
如果用户输入的路径是http://localhost:8080/day05/map2 Mapping1 Mapping2
原则”如果多个servlet都匹配用户的请求资源,那么tomcat服务器会找最像的那个进行响应!”
*.do映射 <servlet-mapping> <servlet-name>Mapping2</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
如果要映射为*.do那么就不要以/开头,而且*.do的优先级最低。
思考:如果以后上网的时候看到用户的请求资源是.html结尾,那么是否就是静态页面?
因为servlet可以映射为任何的路径,那么因此你看到的访问路径有可能是假的。
u 默认映射
对于用户而言很有可能访问一些网站中不存在的资源,那么如果直接使用服务器中默认的servlet进行处理,那么错误对于用户是不友好的,所有任何一个开发好的网站,应该都具备处理用户错误请求的默认的servlet。
<servlet-mapping> <servlet-name>MyDefault</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
u 自启动servlet
一个网站在别人访问之前应该提前将网站的数据建立好。
<servlet> <servlet-name>AutoStart</servlet-name> <servlet-class>cn.itcast.servlets.AutoStart</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
load-on-startup的值必须是一个正整数,值越小那么越先启动。通常在实际的开发中我们将数据库的创建、 表的创建以及数据的添加写在一个自启动的servlet中,进而提高用户的体验。
本文来自 http://www.csyboke.com/post/32.html