Servlet进阶API--ServletConfig

使用ServletConfig

        ServletConfig相当于个别Servlet的设置信息代表对象, 这意味着可以从ServletConfig中取得Servlet设置信息. ServletConfig定义了getInitParameter(), getInitParameterNames()方法, 可以取得设置Servlet时的初始参数.

设置方法1: 注解@

可以在@WebServlet中使用@WebInitParam设置initParams属性. 例如:

...
@WebServlet(urlPatterns={"/login.do"},
        initParams={@WebInitParam(name="SUCCESS_VIEW", value="member.view"),
                    @WebInitParam(name="ERROR_VIEW", value="index.html")
})
public class Login extends HttpServlet {
 
    private String SUCCESS_VIEW;
    private String ERROR_VIEW;
    public void init() throws ServletException{
        SUCCESS_VIEW = getServletConfig().getInitParameter("SUCCESS_VIEW");
        ERROR_VIEW = getServletConfig().getInitParameter("ERROR_VIEW");
    }
    ...
}

设置方法2: web.xml

可以在<servlet>标签中使用<init-param>等标签进行设置. 例如:

...
  <servlet>
    <servlet-name>ServletConfigDemo</servlet-name>
    <servlet-class>cc.openhome.ServletConfigDemo</servlet-class>
    <init-param>
        <param-name>PARAM1</param-name>
        <param-value>VALUE1</param-value>
    </init-param>
    <init-param>
        <param-name>PARAM2</param-name>
        <param-value>VALUE2</param-value>
    </init-param>
  </servlet>
...

: web.xml中的设置会覆盖注解@的设置. 若要用web.xml覆盖注解设置, web.xml的<servlet-name>设置必须与@WebServlet的name属性相同.


Jan 8th, 2016

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章