如何调用ServletContext:
一、实现ServletContextAware
二、request.getServletContext()
获取WEB应用的初始化参数:
获取context参数名:
仅有一个时:context.getInitParameterName();
有多个时:context.getInitParameterNames()
获取Context参数值:
context.getInitParameter(参数名);
注意:获取context属性时,一定要保证xml文件中有以下内容:
- <context-param>
- <param-name>参数名</param-name>
- <param-value>参数值</param-value>
- </context-param>
有两种方法:在定义context属性和初始化request,初始化只能在jsp动态网页上使用
·首先在request中定义context属性即context.setAttribute(参数名,参数值),然后在RequestDispatcher中指定要跳转到的url地址context.getAttribute(参数名)
//指定要跳转到的页面 使用相对路径
RequestDispatcher rd = request.getRequestDispatcher("/success.html");
//实现跳转
rd.forward(request, response);
·初始化request参数
如:
forward和include区别:forward跳转,include包含,加载jsp文件时,用include可将要添加的数据添加到已定义好的jsp文件中,用forward方法则不能实现这种功能
利用ServletContext对象读取资源文件。
得到文件路径
用context.getRealPath(指定文件)方法实现
如:
/*获得ServletContext文件路径
String path = context.getRealPath("");
读取资源文件的三种方式:以properties文件(属性文件)为例
·context.getResource(String path
)方法
·context.getRealPath(String path)
方法
·context.getResourceAsStream(String path
)方法
这三种方法基本相同,只是(一、三)两种方法是获取路径后直接传送到输入流中;第二种是获取路径后先创建file文件,再将File文件传入流中