一.Servlet学习
1.定义
Web容器在启动的时候,他会为每个web程序创建一个对应的servletcontext对象,它代表了当前的web应用。
用以下方法创建对象:
ServletContext context = this.getServletContext();
2.常见作用
2.1共享数据
在这个servlet中保存的数据,可以在另一个里面共享。
用到的方法:
//设置 eg:context.setAttribute("name",name);
context.setAttribute("参数名",参数值(可以是变量名));
//获取
context.getAttribute("参数名");
举个例子:
1)helloservlet中设置上下文, setAttribute()
2)在readservlet中获取上下文,getAttribute()
3)重启Tomcat,进行测试:
- 注意:1)先要访问/hello 设置上下文2)再访问/getc获取上下文3)要在web.xml中做映射。
2.2获取初始化参数
方法:
context.getInitParameter("参数名")
要记得在web.xml中配置参数:
例子:
2.3 请求转发(request)
原理:
方法:
context.getRequestDispatcher("转发路径").forward(req,resp);
例子:
2.4读取文件资源(类加载,反射)
方法
//获取文件,变成流
this.getServletContext().getResourceAsStream("文件路径")
//加载流
Properties prop = new Properties();
prop.load(inputStream); //加载上面文件转化成的流
prop.getProperty("属性名"); //获取文件中的一个属性
Properties
比较分析:
- 在java目录下新建properties
- 在resources目录下新建properties
发现:
- 都被打包了在同一个路径下:classes,我们俗称这个路径为类路径classpath
思路:
- 需要一个文件流
读取资源文件:
1.在resources目录下新建一个properties文件作为资源文件
db.properties
2.写一个类用来读取这个资源文件
注意:这里的路径是 /WEB-INF/classes/db.properties 第一个 / 代表当前项目
访问测试接口:
servletContext结束!!!