博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
contextServlet
阅读量:7056 次
发布时间:2019-06-28

本文共 3815 字,大约阅读时间需要 12 分钟。

一:读取配置文件中的参数信息

1.新建servlet文件ContextServlet1,代码为:

import java.io.IOException;import java.util.Enumeration;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ContextServlet1 extends HttpServlet {	protected void doGet(HttpServletRequest req, HttpServletResponse resp)			throws ServletException, IOException {		String url1 = this.getServletConfig().getServletContext().getInitParameter("url");		String url2 = this.getServletContext().getInitParameter("url");//这两行代码效果相同		System.out.println("url1:" + url1);		System.out.println("url2:" + url2);		System.out.println("--------------------------");		Enumeration
initParameterNames = this.getServletContext().getInitParameterNames(); while(initParameterNames.hasMoreElements()){ String nextElement = initParameterNames.nextElement(); String elementValue = this.getServletContext().getInitParameter(nextElement); System.out.println("elementsValue:" + elementValue); } }}

2.配置web.xml:

在web.xml根元素下加入下面代码:

 

 

url
mysql:http://localhost:3306
address
this is the context-param's address
career
coder,enger,ceo

3.发布工程,浏览器中输入:http://localhost/myday03/servlet/ContextServlet1
控制台打印结果:

 

url1:mysql:http://localhost:3306

url2:mysql:http://localhost:3306
--------------------------
elementsValue:coder,enger,ceo
elementsValue:mysql:http://localhost:3306
elementsValue:this is the context-param's address

二:程序写入contextServlet参数,并取出<统计网页访问次数>:

1.新建servlet文件ContextServlet2代码:

 

 

import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;//servletContext,session,request. jsp page.//servletContext是一个域对象,那么有两个概念。// 1.域就肯定是一个容器。(可以放任何对象)。// 2.域是有一个作用范围的。对于servletContext对象来说,它的作用范围就是整个web应用范围。// public class ContextServlet2 extends HttpServlet {/* * 首先通过init方法给其设置一个初始化的值。这个值设置了之后就是一个全局的。 * 通过servletContext对象设置的数据都是全局的。 * servletContext就当前的web应用。(non-Javadoc) * @see javax.servlet.GenericServlet#init() */	public void init() throws ServletException {		int timesValue = 0;		//代码中一般是键值对,键在前,值在后,		this.getServletContext().setAttribute("timesName", timesValue);	}	public void doGet(HttpServletRequest request, HttpServletResponse response)			throws ServletException, IOException {	/*为了统计网站的访问次数,首先将之前的全局的times给获得。	 * 每次来自客户端的请求都将该全局的times+1	 * 调用getAttribute("name")就可以获得全局的times.	 * 		 */		int timesValue = (Integer) this.getServletContext().getAttribute("timesName");		timesValue++;		//将变化后的times重新添加到容器中,		this.getServletContext().setAttribute("timesName", timesValue);		System.out.println("本网站已被访问:" + timesValue + "次!");	}}

2.浏览器中输入:http://localhost/myday03/servlet/ContextServlet2
控制台输出:
本网站已被访问:1次!
本网站已被访问:2次!//第二次刷新时得到的结果。每刷新一次就得到一个新的结果。

 

三:将上述在控制台中输出的结果改为在浏览器中输出:

 

 

import java.io.IOException;import java.text.DateFormat;import java.util.Date;import javax.servlet.*;import javax.servlet.http.*;public class RefreshServelet extends HttpServlet {	public void doGet(HttpServletRequest request, HttpServletResponse response)			throws ServletException, IOException {		//refresh头实现定时刷新到某个页面.		//一般可用作定时刷新,		//应用:股票,聊天室,//		response.setHeader("Refresh", "2;url=http://www.baidu.com");		response.setHeader("Refresh", "0");		response.setContentType("text/html;charset=utf-8");		response.getWriter().print("每秒刷新一次:"+ new Date(System.currentTimeMillis()).toLocaleString());//		response.getWriter().print("每秒刷新一次:"+ DateFormat.format();			}	public void doPost(HttpServletRequest request, HttpServletResponse response)			throws ServletException, IOException {	}}

 

 

转载地址:http://kngol.baihongyu.com/

你可能感兴趣的文章
Unable to execute dex: Multiple dex files define Lcom/kenai/jbosh/AbstractAttr
查看>>
微信小程序明星开发者博卡君专访
查看>>
什么是 Help Desk?
查看>>
【MySQL】Tokudb安装测试初探
查看>>
12C打补丁的简单尝试
查看>>
分割excel sheet
查看>>
CentOS 7 yum方式快速安装MongoDB
查看>>
C#身份证识别相关技术
查看>>
【单片机】基于有方GPRS的智能电梯控制系统
查看>>
基于spring-boot的rest微服务框架
查看>>
微信公众平台开发最佳实践(第2版)
查看>>
Maven 依赖 spring-web 对战 spring-webmvc
查看>>
用了一天的时间,linux下expect实现ssh自动登录服务器记,鄙视下网上各种抄来抄去残段子...
查看>>
青岛市李沧区搭建人才大数据平台
查看>>
Linux下自动化监控内存、存储空间!
查看>>
iOS 7 表视图顶部空白解决
查看>>
中科院院士姚期智:我们已经来到量子时代的最后一里路
查看>>
“前.NET Core时代”如何实现跨平台代码重用 ——程序集重用
查看>>
一哄而起云计算(透视)
查看>>
如何实现对上下文(Context)数据的统一管理 [提供源代码下载]
查看>>