寫Servlet經常要與XML打交道,XML的設置曾一度是一個困擾今天終於搞得差不多明白了!
源於http://topic.csdn.net/t/20050612/10/4076412.html 這份帖子上講到的關於STRUTS中對XML的設置。
下面是STRUTS裏的一個Servlet:
<servlet>
<servlet-name>action</servlet-name> //給編寫的Servlet命名
<servlet-class>
org.apache.catalina.servlets.InvokerServlet //類所在的包
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name> //Servlet的命名
<url-pattern>*.do</url-pattern>
//這個是站點裏的所有form都用 form的名稱.do 這樣的映射來訪問servlet
</servlet-mapping>
下面是一個詳細的例子來闡述通過設置XML來訪問Servlet
先建立一個類名字爲web.servlet 注web包下的servlet類
再建立一個XML文件,目錄結構如下圖:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>action</servlet-name>//對自己編寫的servlet命名
<servlet-class>web.servlet</servlet-class>//自己編寫的servlet的所在包(或者說位置)
<init-param>
<param-name>debug</param-name>//參數名稱(注:本程序沒用到,只是舉個例子)
<param-value>0</param-value>//參數初始值
</init-param>
<load-on-startup>1</load-on-startup>//servlet的啓動優先級
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>//映射到action的servlet
<url-pattern>/show.do</url-pattern>//註釋①
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>
////////////////////////////////////////////////////////////////////////////////////////////
註釋①
/show.do 表示在瀏覽器中輸入:http://127.0.0.1:8081/ServletTest/show.do 可以執行action所映射的類
*.do 表示在瀏覽器中輸入:http://127.0.0.1:8081/ServletTest/*.do 可以執行action所映射的類,*這裏的表示任意字符
/do 表示在瀏覽器中輸入:http://127.0.0.1:8081/ServletTest/do 可以執行action所映射的類