读取Web.xml的值ServletConfig和ServletContext

来源:互联网 发布:js oop编程 编辑:程序博客网 时间:2024/06/01 09:03

web.xml全局配置:

<context-param>
  <param-name>name</param-name>
  <param-value>root</param-value>
</context-param>
<context-param>
  <param-name>pass</param-name>
  <param-value>123456</param-value>
</context-param>

//context服务器不关闭 就一直有效
ServletContext application = this.getServletContext();
String root = application.getInitParameter("name");
String word = application.getInitParameter("pass");
System.out.println(root+""+word);

web.xml的配置如下:

<servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>com.jkx.lzh.servlet.TestServlet</servlet-class>
    <init-param>
    <param-name>sheng</param-name>
    <param-value>四川</param-value>
    </init-param>
    <init-param>
    <param-name>shi</param-name>
    <param-value>dz</param-value>
    </init-param>
    <init-param>
    <param-name>qu</param-name>
    <param-value>dachuan</param-value>
    </init-param>
</servlet>

//读取配置web.xml中的数据
ServletConfig config = this.getServletConfig();
String sheng = config.getInitParameter("sheng");
String shi = config.getInitParameter("shi");
String qu = config.getInitParameter("qu");
System.out.println(sheng+shi+qu);

//项目的绝对路径

String path = application.getRealPath("/dd")

//枚举路径下每个文件名

Set<String> set = application.getResourcePaths("/js");
for(String filname : set){
System.out.println(filname);
}

/*过滤器设置编码*/

<filter>
<filter-name>FirstFilterServlet</filter-name>
<filter-class>com.jkx.lzh.servlet.FirstFilterServlet</filter-class>
<init-param>
<param-name>encode</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>FirstFilterServlet</filter-name>
<url-pattern>/page/*</url-pattern>
</filter-mapping>

//Filter里读取value

String encoding = filterConfig.getInitParameter("encode");

//Filter的核心部分+用户验证

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {

HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
req.setCharacterEncoding(encoding);
req.setAttribute("filterParam", "101");
HttpSession session = req.getSession();

Emp emp = (Emp) session.getAttribute("emp");
if(emp == null){
resp.sendRedirect("/JDBC_1/login.jsp");
}else{
System.out.println(encoding);
chain.doFilter(req, resp);
}

}

原创粉丝点击