9.20
四个作用
1)可以获取 上下文路径
2)可以web.xml文件中 全局参数
3)可以去作为"请求转发"
--- 后端将数据 --- 存储在"域对象", 可以页面跳转
4) 可以作为 域对象 ---- 就是在不同的servlet之间进行数据传输(数据共享)
/**
* ServletContext: 代表整个web应用程序 全局对象
* web应用程序启动:就会创建对象
* 作用1:
* 可以获取上下文路径
* public String getContextPath()
*
场景:
* 在xxx.jsp/xx.html文件中
*
* 一些标签
超链接的href属性
* 图像标签src属性
* 导入外部css文件 <link href="xxx.css" rel="stylesheet"/>
* 导入外部的js文件 <script src="xx.js"></script>
*
* 在书写导入路径的时候: 写上下文路径,否则404
*
* 这些src/href...都属于"浏览器行为",必须带web工程的上下文路径
*
*
*
*/
public class ContextDemo extends HttpServlet {
//接收get请求
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//这个方法在请求对象就有,简写格式
//HttpServletRequest----public String getContextPath()
String contextPath = request.getContextPath();
System.out.println(contextPath);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
/**
* ServletContext全局对象的作用2:
* 可以获取全局参数
* <context-param>
* 参数名称
* <param-name>encoding</param-name>
* 参数值
* <param-value>utf-8</param-value>
* </context-param>
*
* 三阶段前期: <context-param> 可以加载某个配置文件...
*/
public class ContextDemo2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取web.xml中全局参数encoding对应它内容
//1)获取全局对象
ServletContext servletContext = this.getServletContext();
//2)String getInitParameter(String var1); 通过初始化全局参数名称获取参数值
//Enumeration<String> getInitParameterNames();:全局对象获取所有初始化的参数名称
String encoding = servletContext.getInitParameter("encoding");
System.out.println(encoding);
System.out.println("---------------------------------------------") ;
Enumeration<String> en = servletContext.getInitParameterNames();
while(en.hasMoreElements()){
String name = en.nextElement();//获取元素 ---参数名称
//String getInitParameter(String var1)
String value = servletContext.getInitParameter(name);
System.out.println(value);
}
System.out.println("---------------------------------------------------");
//接收post提交参数
//解决post中文乱码
request.setCharacterEncoding(encoding);
//接收参数
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username+"---"+password) ;
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
请求转发的原理及注意事项
/**
* ServletContext的作用3(重点)
* 请求转发:后端能够控制的一种页面跳转(可以在不同的servlet之间进行跳转)
*/
public class ContextDemo3 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//一步走:简写格式
//public RequestDispatcher getRequestDispatcher(String path)在HttpServletRequest就有
//request.getRequestDispatcher("/contextDemo4").forward(request,response);
//WEB-INF下面的资源文件:只能后端的请求转发访问,不能直接访问,为了安全!
request.setAttribute("name","高圆圆");
request.getRequestDispatcher("/WEB-INF/adv.jsp").forward(request,response);
System.out.println("请求转发成功");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
//接收跳转的请求public class ContextDemo4 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
System.out.println("进入到了ContextDemo4的doGet方法了....");
response.getWriter().write("hello,contextDemo4接收了");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
文章浏览阅读375次。<script src="js/jquery-1.8.3.min.js" type="text/javascript"></script> <script type="text/javascript"> function checkName() { var name = document.getElementB..._jsp前端页面将表单是否提交成功作为限制条件
文章浏览阅读1k次。Sequence Numberlzyws7393074532892018-04-25Number Sequenceqq_391789932452017-09-21理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)hebbely9822017-01-14Number Sequence(规律)l25336363712902017-07-18Numb..._ack num
文章浏览阅读5.9k次。笔记本电脑怎么进CMOS密码巧设置笔记本电脑怎么进CMOS密码巧设置 笔记本电脑为了保护用户的数据安全,往往采用加密的方式,最常见的还是CMOS密码加密技术。为了让你的重要数据更加安全,你可能需要设置不同的密码,这也就要求你记住许多密码。对于笔记本电脑用户来说,真的需要设置一道道密码关卡吗?非也非也! 一、认识与设置笔记本电脑的CMOS密码 笔记本电脑的CMOS密码大致分为超级密码(Supervi..._电脑第一道密码修改
文章浏览阅读2.5k次,点赞2次,收藏5次。迟到的文章,就当库存发出来吧~_jangow01
文章浏览阅读1.7w次,点赞2次,收藏5次。默认情况下RDD的transformation是lazy形式,实际计算只有在ation时才会进行,而且rdd的计算结果默认都是临时的,用过即丢弃,每个action都会触发整个DAG的从头开始计算,因此在迭代计算时都会想到用cache或persist进结果进行缓存。敝人看到很多资料或书籍有的说是persist或cache会触发transformation真正执行计算,有的说是不会!敝人亲自实验了一把..._spark cache和persist不生效
文章浏览阅读2.4k次。HTML之marquee(文字滚动)详解语法:以下是一个最简单的例子:代码如下:Hello, World下面这两个事件经常用到:onMouseOut=“this.start()” :用来设置鼠标移出该区域时继续滚动onMouseOver=“this.stop()”:用来设置鼠标移入该区域时停止滚动代码如下:onMouseOut=“this.start()” :用来设置鼠标移出该区域时继续滚动 onMouseOver=“this.stop()”:用来设置鼠标移入该区域时停止滚动这是一个完_html滚动
文章浏览阅读1k次,点赞20次,收藏22次。代码功能:信号发生器设计信号发生器由波形选择开关控制波形的输出,分别能输出正弦波、方汉和三角波三种波形,波形的周期为2秒(由40M有源晶振分频控制)。考虑程序的容量,每种波形在一个周期内均取16个取样点,每个样点数据是8位(数值范围:00000000~1111111)要求将D/A变换前的8位二进数据(以十进制方式)输出到数码管动态演示出来。_vhdl正弦波信号发生器
文章浏览阅读629次。Java Concurrency in Practice中对线程安全的定义:当多个线程访问一个类时,如果不用考虑这些线程在运行时环境下的调度和交替运行,并且不需要额外的同步及在调用方代码不必做其他的协调,这个类的行为仍然是正确的,那么这个类就是线程安全的。显然只有资源竞争时才会导致线程不安全,因此无状态对象永远是线程安全的 。过多的同步会产生死锁的问题,死锁属于程序运行的时_java 线程概述
文章浏览阅读1.2w次,点赞10次,收藏61次。读取表单Sheet2中部分信息。_matlab读取数据
文章浏览阅读1.4w次。最近项目中用到ItemBased Collaborative Filtering,实践过spark mllib中的ALS,但是因为其中涉及到降维操作,大数据量的计算实在不能恭维。所以自己实践实现基于spark的分布式cf,已经做了部分优化。目测运行效率还不错。以下代码package modelimport org.apache.spark.broadcast.Broadcastimp_spark cf
文章浏览阅读1.8w次。 在我的博客移动平台播放器ijkplayer开源框架分析(以IOS源码为例),大致介绍了一下ijkplayer的基本函数调用顺序和主要线程作用,本博客想介绍一下在直播应用中,针对卡顿和秒开做的一些优化,本优化经验主要是用在Android系统上,ios上也可以借鉴,按本博客修改代码,网络带宽足够的情况下,音视频播放基本流畅不卡顿,首屏时间在500ms以内。 首先来看直播应用中的卡顿。直..._libijkplayer 播放直播流卡顿
文章浏览阅读2.3k次,点赞3次,收藏28次。数据挖掘实践(金融风控-贷款违约预测)(三):特征工程目录数据挖掘实践(金融风控-贷款违约预测)(三):特征工程1.引言2.特征预处理2.1缺失值填充2.2时间格式处理2.3类别特征处理3.异常值处理3.1 检测异常的方法一:正态分布法3.2 检测异常的方法二:箱型图3.3异常值的处理方法4.数据分桶5.特征交互6.特征编码6.1 labelEncode 直接放入树模型中6.2 逻辑回归等模型要单独增加的特征工程7.特征选择7.1 Filter7.2 Wrapper (Recursive feature _金融风控(大数据)特征工程