5.ServletContext接口
1) web容器在启动时,他会为每个web应用都创建一个对应的ServletContext对象。注意: 一个web应用对应的是一个ServletContext对象。就行每个web应用就像是不同的餐厅, 而Servlet是餐厅服务员,可以有很多,ServletContext是这个餐厅的经理只能有一个。
- 由于一个web应用程序的所有Servlet都共享的是同一个ServletContext对象,所以ServletContext对象也被称为application对象(web应用程序对象)
- 在应用程序中能够获取运行环境或者容器信息的对象通常称之为“上下文对象”。
- ServletContext的主要功能
a)获取虚拟路径所映射的本地路径
虚拟路径:浏览器访问web应用中资源时所使用的路径
本地路径:资源在文件系统中的实际保存路径
b)application域范围的属性
c)获取web应用程序的初始化参数
设置Web应用初始化参数的方式是在web.xml的根标签下加入如下代码
<!– Web应用初始化参数 –> <context-param> <param-name>ParamName</param-name> <param-value>ParamValue</param-value> </context-param> |
获取Web应用初始化参数
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.获取ServletContext对象 ServletContext context = this.getServletContext(); //2.获取Web应用初始化参数 String paramValue = context.getInitParameter(“ParamName”); System.out.println(“paramValue=”+paramValue); } |
5.HttpServletRequest接口
该接口是ServletRequest接口的子接口,封装了HTTP请求的相关信息,由Servlet容器创建其实现类对象并传入service(ServletRequest req, ServletResponse res)方法中。我们请求的详细信息都可以通过HttpServletRequest接口的实现类对象获取。这个实现类对象一般都是容器创建的,我们不需要管理。
HttpServletRequest主要功能
7.1 获取请求参数
1)什么是请求参数?
请求参数就是浏览器向服务器提交的数据
2)浏览器向服务器如何发送数据
a)附在url后面,如:http://localhost:8989/MyServlet/MyHttpServlet?userId=20
b)通过表单提交
<form action=“MyHttpServlet” method=“post”> 你喜欢的足球队<br /><br /> 巴西<input type=“checkbox” name=“soccerTeam” value=“Brazil” /> 德国<input type=“checkbox” name=“soccerTeam” value=“German” /> 荷兰<input type=“checkbox” name=“soccerTeam” value=“Holland” /> <input type=“submit” value=“提交“ /> </form> |
3)使用HttpServletRequest对象获取请求参数
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //一个name对应一个值 String userId = request.getParameter(“userId”); System.out.println(“userId=”+userId); } |
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //一个name对应一组值 String[] soccerTeams = request.getParameterValues(“soccerTeam”); for(int i = 0; i < soccerTeams.length; i++){ System.out.println(“team “+i+”=”+soccerTeams[i]); } } |
上一篇: JavaWeb课程系列
下一篇: JavaWeb课程系列