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

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