JavaWeb_servlet
通过 ServletContex 获得根目录下的文件路径
- demo1
- web.xml
- 启动 Tomcat
- 测试,浏览器访问
以上操作完整源码:
demo1
package com.wyx.servlet;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class demo1 extends HttpServlet
{
@Override
public void init(ServletConfig config) throws ServletException
{
// 获得到ServletContext对象
ServletContext sc = config.getServletContext();
// 获得工程目录 webroot 下文件的绝对路径
// getRealPath 的参数内容不会被校验,只有真正要用这个路径的时候才知道路径对不对
//获得根目录
String path = sc.getRealPath("/");
System.out.println(path);
//获得根目录后追加 /upload,不关心有没有这个文件
String path1 = sc.getRealPath("/upload");
System.out.println(path1);
// 获得工程目录webroot下文件的流
InputStream in = sc.getResourceAsStream("/WEB-INF/test1.properties");
Properties prop = new Properties();
try
{
prop.load(in);
System.out.println(prop.get("key"));
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>servlet_demo</display-name>
<!--
全局(ServletContext)的容器参数
-->
<context-param>
<param-name>context_key</param-name>
<param-value>context_value</param-value>
</context-param>
<servlet>
<!-- 设置servlet的名字 -->
<servlet-name>helloServlet</servlet-name>
<!-- 具体的servlet的类 -->
<servlet-class>com.wyx.servlet.demo1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
如有错误,欢迎指正!