jsp/servlet的一些经验 给新手看
<servlet>配置
servlet-mapping 是什么?
主要是截获请求的,
如果你的url-pattern定义的是路径,那么以后所有对这个路径下资源的请求都会由servlet-name中定义的servlet处理;
如果你的url-pattern定义的是资源格式例如*.do等,那么对于所有符合这种格式的资源的请求都由指定的servlet处理。
Top
3 楼www203(水户洋平)回复于 2003-07-07 11:32:01 得分 0 <servlet>
<servlet-name>sampleSeverlet</servlet-name>
<servlet-class>page.sampleSeverlet</servlet-class>
</servlet>
一般你在上面定义sampleSeverlet,然后再在下面定义
<servlet-mapping>
<servlet-name>sampleSeverlet</servlet-name>
<url-pattern>/toSeverlet/*</url-pattern>
</servlet-mapping>
Top
4 楼showmetheway(雪儿甜心)回复于 2003-07-07 11:32:45 得分 0 你们的意思是:
http://localhost:8080/toSeverlet/* 等价于 http://localhost:8080/sampleSeverlet
Top
5 楼mellono(mellono)回复于 2003-07-07 11:43:13 得分 0 不是等价于,而是这个请求由指定的servlet处理。
例如
<servlet-mapping>
<servlet-name>sampleSeverlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
你在一个页面中输入了一些信息,提交到a.do,那么sampleServlet就会截获这个请求,你可以在sampleServlet中做任何你想做的处理。
建议看一下MVC的资料,这种处理在MVC中常用。
1.以/开始并以/*结束的字符串用来映射路径,例如:
<url-pattern>/admin/*</url-pattern>
如果没有精确匹配,那么对/admin/路径下的资源的所有请求将由映射了上述URL样式的Servle来处理
2.以*.为前缀的字符串用来映射扩展名,例如:
<url-pattern>*.do</url-pattern>
如果没有精确匹配和路径匹配,那么对具有.do扩展名的资源的请求将由映射了上述URL样式的Servlet处理
3.以一个单独的/指示这个web应用程序默认的Servlet,例如:
<url-pattern>/</url-pattern>
如果对于某个请求,没有找到匹配的Servlet,那么将使用web应用程序的默认Servlet来处理
4.精确匹配,例如:
<url-pattern>/login</url-pattern>
通俗的讲就是jsp页面发送的请求只要发到<url-pattern> 指定的就可以让他上面的<servlet-name>sampleSeverlet</servlet-name> 进行处理