部署Servlet(一)——Servlet2.X

xiaoxiao2021-02-28  87

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); }

第二种:

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

第三种:

@Override public void init() throws ServletException { super.init(); String value = getInitParameter("key"); System.out.println(value); } @Override public 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); } @Override public void init(ServletConfig config) throws ServletException { super.init(config); ServletContext servletContext = getServletContext(); String name = servletContext.getInitParameter("key"); System.out.println(name); } @Override public void init(ServletConfig config) throws ServletException { ServletContext servletContext = config.getServletContext(); String name = servletContext.getInitParameter("key"); System.out.println(name); }

转载请注明原文地址: https://www.6miu.com/read-69737.html

最新回复(0)