部署Servlet(一)——Servlet2.X

来源:互联网 发布:呼不停软件 编辑:程序博客网 时间:2024/06/14 02:53

web.xml文件配置,当新建一个Servlet文件时,web.xml会自动生成相应的配置。

<servlet><!-- servlet-name 指定Servlet 名,要与下面servlet-mapping元素中的servlet-name保持一致 --><servlet-name>TestServlet</servlet-name>
<!-- servlet-class 对应着Servlet 类的完全限定名 -->    <servlet-class>com.TestServlet</servlet-class></servlet>
<servlet-mapping><!-- servlet-name要与上面servlet元素中的servlet-name保持一致 --><servlet-name>TestServlet</servlet-name>
<!-- url-pattern设定当前Servlet在浏览器中运行时的url -->   <url-pattern>/TestServlet</url-pattern></servlet-mapping>

Servlet访问

上面的介绍是采用精确匹配的形式配置了URL到Servlet之间的映射关系。

两种非精确匹配的Servlet配置方式

<!—对TestServlet 路径下的所有请求,都由TestServlet 这个Servlet进行处理--><servlet-mapping><servlet-name>TestServlet</servlet-name>   <url-pattern>/TestServlet/*</url-pattern></servlet-mapping>

<!—对所有的请求,都由TestServlet 这个Servlet进行处理--><servlet-mapping><servlet-name>TestServlet</servlet-name>   <url-pattern> /*</url-pattern></servlet-mapping>


<!—对所有以.do为后缀的请求,都由TestServlet 这个Servlet进行处理--><servlet-mapping><servlet-name>TestServlet</servlet-name>   <url-pattern>*.do</url-pattern></servlet-mapping>

Servlet初始化参数设置

在使用web.xml部署描述文件配置Servlet时,还可以预先对Servlet进行初始化设置,当Servlet加载时可以从该Servlet配置文件中获取初始化参数。

配置如下

<servlet>    <servlet-name>TestServlet</servlet-name>    <servlet-class>com.TestServlet</servlet-class>    <init-param>    <param-name>key</param-name>    <param-value>value</param-value>    </init-param></servlet>注意:如果有多个初始化参数,则需要多个<init-param></init-param>

获取初始化参数的值:

第一种:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String value = getInitParameter("key");System.out.println(value);}

第二种:

@Overridepublic void init(ServletConfig config) throws ServletException {super.init(config);String value = getInitParameter("key");System.out.println(value);}
@Overridepublic void init(ServletConfig config) throws ServletException {String value = config.getInitParameter("key");System.out.println(value);}

第三种:

@Overridepublic void init() throws ServletException {super.init();String value = getInitParameter("key");System.out.println(value);}

@Overridepublic void init() throws ServletException {String value = getInitParameter("key");System.out.println(value);}

Servlet上下文(环境对象)初始化参数设置

<!-- Servlet上下文(环境对象)初始化参数设置--><context-param><param-name>defaultName</param-name>    <param-value>全局匿名</param-value><context-param><servlet>    <servlet-name>TestServlet</servlet-name>    <servlet-class>com.TestServlet</servlet-class>    <init-param>    <param-name>key</param-name>    <param-value>value</param-value>    </init-param></servlet>

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ServletContext servletContext = getServletContext();String name = servletContext.getInitParameter("key");System.out.println(name);}

@Override       publicvoid init() throws ServletException {              super.init();              ServletContextservletContext = getServletContext();              Stringname = servletContext.getInitParameter("key");              System.out.println(name);       }

@Overridepublic void init(ServletConfig config) throws ServletException {super.init(config);ServletContext servletContext = getServletContext();String name = servletContext.getInitParameter("key");System.out.println(name);}
@Overridepublic void init(ServletConfig config) throws ServletException {ServletContext servletContext = config.getServletContext();String name = servletContext.getInitParameter("key");System.out.println(name);}

















1 0