servlet中servletContext的五大作用(一)
- 获取web的上下文路径
- 获取全局的参数
- 作为域对象使用
- 请求转发
- 读取web项目的资源文件
package day10.about_servletcontext.get_path;
/*** 首先区别:* 一个网站只有一个ServletContext对象* 而每一个Servlet都有一个ServletConfig对象* * 但是我们拿Context对象的话,其实是通过Config对象去* 拿的,因为每一个ServletConfig中都有一个ServletContext* 的成员变量;* * 其次因为ServletConfig是在ServletContext之前创建的;* 因为ServletContext是在启动的时候创建的* 而ServletConfig对象是在调用init方法之前创建的。 * java中获取ServletContext的常见方法1.在javax.servlet.Filter中直接获取 ServletContext context = config.getServletContext(); 2.在HttpServlet中直接获取 this.getServletContext() 3.在其他方法中,通过HttpRequest获得 request.getSession().getServletContext(); */
import java.io.IOException;import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*** 【context对象的作用—1】:获取web的上下文路径* getContextPath();* * * @author mzy**/
public class ContextDemo01 extends HttpServlet {private static final long serialVersionUID = -4556050230938613373L;public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");// 1.1:首先要获取到ServletContext对象/** 这种方法原则上没有错:* 因为加载的顺序上是config在context之前* 并且context必须通过config对象来获取,* 但是java设计者为了简化我们的代码,* 在源码中重新写了这部分;* * 他将* this.getServletConfig().getServletContext();* 封装到了源码的 getServletContext()的方法中了;* 但是我们还是需要记得获取context对象必须要获得* config对象;* * 获得context对象,必须要通过config对象来获取;* * 以下只是代码的简化而已* */// ServletContext context = this.getServletConfig().getServletContext();ServletContext context = this.getServletContext();String path = context.getContextPath();System.out.println(path);/** 以上就是上下文路径:但是需要注意的是,当我们在eclipse或者myeclipse中修改* 项目名称的时候,我们修改了之后其实它的上下文路径是没有变的;* 比如我们原来项目叫做 myday09,修改为myday10之后,我们run这个项目下的文件* 最后跑出来的时候,可以看见项目名依旧是myday09,所以这个时候的context我们* 需要去tomcat中改文件夹名称,或者:右键项目Properties-->myeclipse-->web* -->context root 修改* * 当然新版本的myeclipse中没有这种问题,但是老版的myeclipse和eclipse中可能* 存在这种问题需要注意*/// String path = context.getContextPath(); 获取上下文路径的好处??// 主要表现在做请求重定向的时候response.sendRedirect("/MyFirstServlet/hello.html");// 作用可以让这个获取文件的路径更加的灵活response.sendRedirect(context.getContextPath() + "/hello.html");}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");}}
转载于:https://www.cnblogs.com/mzywucai/p/11053521.html
servlet中servletContext的五大作用(一)相关推荐
- 场效应晶体管在电路中的五大作用,你了解哪一种?
一.场效应晶体管特点 场效应晶体管是电压控制元件,因此和普通双极型晶体管相比,场效应晶体管具有输入阻抗高.噪声低.动态范围大.功耗小.易于集成等特点,这就决定了场效应晶体管与其它电子元件有异曲同工之妙 ...
- Servlet中ServletConfig接口和ServletContext接口的作用
前言: Servlet的作用: Servlet 是接口,是 JavaEE 规范之一.接口起到了规范的作用. Servlet 是 JavaWeb 三大组件之一.三大组件分别是:Servlet 程序.Fi ...
- JSP/Servlet中的几个编码的作用
在JSP/Servlet 中主要有以下几个地方可以设置编码,pageEncoding="UTF-8".contentType="text/html;charset=UTF ...
- Java Servlet 中的 ServletConfig 和 ServletContext 之间的区别
ServletConfig 和 ServletContext 是 Java Servlet 中的两个重要接口,它们都是用来存储 servlet 的配置信息的. ServletConfig 是针对单个 ...
- Servlet中(Session、Cookies、Servletcontext)的基本用法
//req: 用于获得客户端(浏览器)的信息 //res: 用于向客户端(浏览器)返回信息 1.session的设置: //得到和req相关联的session,如果没有就创建 ...
- java中的post的作用,JSP、Servlet中get请求和post请求的区别总结
在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法.前两天看<Head First Servlets & JSP>看到其中讲关于 ...
- 【Servlet】ServletContext、ServletConfig对象学习、用户登录系统完善
总结:request.cookie.session.context的区别 这四个对象有不同级别的作用域和生命周期. (1)request:解决了一次请求内的数据共享问题(作用域:一次请求) req.s ...
- 一个web项目中web.xmlcontext-param的作用
转 <context-param>的作用: web.xml的配置中<context-param>配置作用 1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置 ...
- Servlet中的Response(HTTP响应对象)用法及笔记
Servlet中的Response用法及笔记 1.生命周期(创建到销毁的过程,init>service>destroy) 2.生命周期的描述 3.ServletConfig对象的使用 4. ...
最新文章
- HDU1533(最小权完美匹配)
- Linux的load导入语句,LOAD DATA INFILE语句导入数据进入MySQL的一些注意事项
- 如何使自己的程序只运行一次
- 5G NGC — eNS(增强的网络切片)
- IAP的原理和stm8的IAP
- NIO详解(七):进程间通信(MappedByteBuffer)
- QuerWrapper常用方法
- python描述符详解_Python描述符 (descriptor) 详解
- 解决Error: could not open ‘……\jre7\lib\i386\jvm.cfg‘问题
- 每天5分钟玩转docker容器技术 pdf_stack 的优势 每天5分钟玩转 Docker 容器技术(113)...
- Unity3D 游戏资源提取工具
- JavaSE的思维导图
- 电商产品精修训练营第3天_ps抠图
- oracle公司的crm系统,原创-CRM客户关系管理系统设计-jsp+oracle
- JavaDay03.练习2.写一个程序来帮助用户进行电话套餐选择
- php怎样给搜索框加放大镜,Win10系统给小娜搜索框添加放大镜和箭头图标的方法...
- 抖音小店运营规则;;超详细小店违规处罚条例;丨国仁网络资讯
- 两宋词人Top10排排座
- 《编程之美》一书八位作者,讲述自己的编程之路
- ExpandListView 的一种巧妙写法
热门文章
- 东大18春计算机基础在线作业,东大18春学期《计算机基础》在线作业123满分答案...
- android关机背景,鍵盤消失后的Android白色背景
- java 异步调用webapi_Async Await异步调用WebApi
- java rsa算法_求RSA算法JAVA实现源代码(带界面的)
- hql 查询条件 set集合_Redis从入门到深入-Sorted_set的value
- java中execquery(),javaee登录界面
- 730阵列卡支持多大硬盘_华为1000多手机哪款好?推荐只此一款!华为品牌性价比最高千元机...
- php完美导出word,PHP使用phpword生成word文档
- java如何在指定索引位置插入新元素
- 命令行编译和运行java