Web应用读取资源文件

web应用中写路径的方法

目标资源:target.html
(1)先给路径加上斜杠 /
(2)思考:目标资源是给谁用的
            	给服务器使用的:/表示在当前web应用的根目录
            	给浏览器使用的:/表示在webapps的根目录下

web应用读取资源文件

路径:
	绝对路径:e:/
	相对路径:.表示当前路径。表示java命令运行的目录。
注意:
	(1)在java项目中,eclipse工具把Java命令的裕兴根目录设置到了项目根目录
	(2)在web项目中,.表示从tomcat的bin目录开始,因为java命令是从bin目录开始执行的。

代码片

public class PathDemo extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        //目标资源: target.html
        /**
         * 思考: 目标资源是给谁使用的。
         *      给服务器使用的:   / 表示在当前web应用的根目录(webRoot下)
         *      给浏览器使用的: /  表示在webapps的根目录下
         */
        /**
         * 1.转发
         */
        //request.getRequestDispatcher("/target.html").forward(request, response);


        /**
         * 2.请求重定向
         */
        //response.sendRedirect("/day11/target.html");

        /**
         * 3.html页面的超连接href
         */
        response.getWriter().write("<html><body><a href='/day11/target.html'>超链接</a></body></html>");

        /**
         * 4.html页面中的form提交地址
         */
        response.getWriter().write("<html><body><form action='/day11/target.html'><input type='submit'/></form></body></html>");
    }

}

转发和请求重定向的区别

1)转发
 	(a)地址栏不会改变
	(b)转发只能转到当前web应用内的资源
	(c)可以在转发过程中,可以把数据保存到request
2) 请求重定向
 	(a)地址栏会改变,变成重定向的地址
 	(b)重定向可以跳转到当前web应用,也可以是其他web应用,也可以是外部域名网站
  	(c)不能在重定向的过程,把数据保存到request中

//结论:如果要使用request域对象进行数据共享,只能用转发技术

读取web应用下的资源文件

其中目标资源为db.properties
/**
读取文件。在web项目下不要这样读取。因为.表示在tomcat/bin目录下
File file = new File("./src/db.properties");
FileInputStream in = new FileInputStream(file);
*/
//使用web应用下加载资源文件的方法
/**
1.getRealPath读取,返回资源文件的绝对路径
*/
/**
//WEB-INF为tomcat服务器 webapps/day11下的目录
String path = this.getServletContext().getRealPath("/WEB-INF/classes/db.properties");
File file = new File(path);
FileInputStream in = new FileInputStream(file);
*/
/**
2.getResourceAsStream()得到资源文件,返回的是输入流
*/
InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
Properties prop = new Properties();
//读取资源文件
prop.load(in);
String user = prop.getProperty("user");
String password = prop.getProperty("password");
System.out.println("user:"+user+"password:"+password);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值