您的位置:首页 > 编程语言 > Java开发

JavaWeb API整理学习

2015-11-17 09:27 381 查看

1.1. ServletConfig对象说明(了解)

1:

该对象可以获取实例化对象初始化信息

初始化信息需要在web.xml配置文件中配置信息

通过该api方法 String getInitParameter(String name) 根据参数名称 获得 值

<servlet>

<servlet-name>CookieServlet</servlet-name>

<servlet-class>cn.myhome.test.CookieServlet</servlet-class>

<init-param>

<param-name>encode</param-name>

<param-value>utf-8</param-value>

</init-param>

</servlet>


2:

获取ServletConfig对象方法 参看GenericServlet源码 init(ServletConfig config ){

this.config = config;

init();

}

3: 在自定义的Servlet中 直接获取该对象 this.getServletConfig(); 对象

String encode = this.getServletConfig().getInitParameter("encode");------->utf-8

在配置了init-parm标签的servlet 代码中 通过ServletConfig 对象获取配置信息;注意并不是所有的servlet都能获取该配置信息的。它专属于配置了init-parm标签的Servlet

1.2. Servlet上下文对象 ServletContext (部分掌握)

1、ServletContext每个工程对应一个

2、获得ServletContext对象 ----- >servletConfig.getServletContext();

或者this.getServletContext();

全局初始化参数配置 (所有Servlet都可以访问)

* 和ServletConfig配置初始化参数 区分开

1) 配置全局初始化参数

当前web应用所有的组件(servlet & jsp) 都可以访问

<!-- web.xml 文件中去配置信息 全局初始化参数-->

在容器启动的时候 初始化参数就有了...

2) 获得ServletContext对象 ServletContext context =getServletContext();

3) 通过 StringgetInitParameter(String name) 获得全局参数信息

String encode = this.getServletConfig().getInitParameter("encode");

String contextPath = this.getServletContext().getContextPath(); //--------->/writeWebCode01

System.out.println(contextPath);

String url = this.getServletContext().getInitParameter("url");//------>jdbc:mysql//localhost:8080/manager

System.out.println(url);

String realPath = this.getServletContext().getRealPath("web.xml");//WEB-INF下的文件路径通过该方法获得

System.out.println(realPath);//磁盘中实际的路径

String mimeType = this.getServletContext().getMimeType(".html");//注意 点不能忘掉

System.out.println(mimeType);// text/html

ServletContext 对象可以获取服务器下所有资源的路径 getRealPath() 获取服务器绝对路径

应用: ServletContext获取服务器资源的绝对路径

String realPath = this.getServletContext().getRealPath("/WEB-INF/classes/b.txt");//src目录下的b.txt文件 ------>

File f= new File(realPath);

System.out.println(f.exists());//true

realPath = this.getServletContext().getRealPath("/a.txt");//WebContent目录下的a.txt文件

f= new File(realPath);

System.out.println(f.exists());//true

realPath = this.getServletContext().getRealPath("/WEB-INF/mm/c.txt");//WebContent目录下mm文件夹下的c.txt文件

f= new File(realPath);

System.out.println(f.exists());//true

//工程下的d.txt文件没有发布到服务器上,所有不能访问
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: