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

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<String> 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根元素下加入下面代码:

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

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 {
} }

contextServlet的更多相关文章

  1. spring4+hibernate4+maven环境搭建

    本文主要介绍利用maven搭建spring4+hibernate4开发环境. 首先我们创建一个maven项目,具体步骤就不详细介绍了,看看我们pom.xml文件 <project xmlns=& ...

  2. ServletContext2

    ------------ContextServlet.java--------------节选-- protected void doGet(HttpServletRequest request, H ...

  3. JavaEE:Servlet简介及ServletConfig、ServletContext

    Servlet简介 1.Servlet是sun公司提供的一门用于开发动态web资源的技术*静态web资源:固定数据文件*动态web资源:通过程序动态生成数据文件2.Servlet技术基于Request ...

  4. 【JAVAWEB学习笔记】13_servlet

    JavaWeb核心之Servlet 教学目标 案例一.完成用户登录功能 案例二.记录成功登录系统的人次 一.Servlet简介 1.什么是Servlet Servlet 运行在服务端的Java小程序, ...

  5. Servlet (二)ServletContext

    package cn.sasa.serv; import java.io.IOException; import javax.servlet.ServletContext; import javax. ...

  6. SpringMVC源码解析-DispatcherServlet启动流程和初始化

    在使用springmvc框架,会在web.xml文件配置一个DispatcherServlet,这正是web容器开始初始化,同时会在建立自己的上下文来持有SpringMVC的bean对象. 先从Dis ...

  7. spring的开发

    spring与web的整合 1. 整合的原理: Spring容器随着tomcat容器ServletContext的启动而启动,并且在初始化完成后放到整个应用都可以访问的范围. ApplicationC ...

  8. Servlet学习(三)——实例:用户登录并记录登陆次数

    1.前提:在Mysql数据库下建立数据库web13,在web13下创建一张表user,插入几条数据如下: 2.创建HTML文件,命名为login,作为登录界面(以post方式提交) <!DOCT ...

  9. jboss6.1安装配置

     Jboss6.1的用途,配置,使用详解 一..简介: JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器因为JBoss代码遵循LGPL许可,你可以在任何商业应用中免费使 ...

随机推荐

  1. 通过innerHTML简化脚本

    <!doctype html> <html lang="en"> <head>   <meta charset="UTF-8&q ...

  2. javaEE简答题整理

    1. 什么是JavaEE?其编程思想是什么? JavaEE是一个标准的中间件体系结构,是企业分布式应用开发标准.JavaEE的编程思想是组件—容器. 2. 为什么提出JavaEE体系结构? (1)为满 ...

  3. 标准C编程-笔记全集

    C语言的基本概念 编写一个简单的C程序,后缀名保存为c(本次文件名为a.c) gcc:对c程序进行编译和连接:gcc a.c ./a.out:运行程序,输出程序的结果:其中a是c程序的文件名 说明:其 ...

  4. css 清除浮动 兼容IE+, FF

    上代码: <!doctype html> <html> <head> <meta charset="utf-8"> <titl ...

  5. 接收时必须库存可处理标识为Y

    应用 Oracle Inventory 层 Level Function 函数名 Funcgtion Name RCV_RCVRCERC 表单名 Form Name RCVRCERC 说明 Descr ...

  6. 转:CSS布局奇淫技巧之-宽度自适应

    css这个东西,说难不难,说容易也不容易.我觉得最重要的还是经验的积累,正所谓的不积硅步,无以至千里.这一系列文章讲述几种css特殊布局的实现,也当作为自己做个备忘吧. 首先讲的是三列布局,左右两列宽 ...

  7. MongoDB Error

    ①,org.springframework.core.convert.ConverterNotFoundException: No converter found capable of     con ...

  8. 如何显示Mac OS X上的隐藏文件和文件夹

    显示隐藏文件以及文件夹命令: defaults write com.apple.finder AppleShowAllFiles YES Mac显示隐藏文件 对于OS X Mavericks 10.9 ...

  9. 轻轻谈一下seaJs——模块化开发的利器

    "仅做一件事,做好一件事." 这个应该就是seaJs的精髓了. 我在自己的一些项目中使用过seaJs.对其算是了解一二.如今就班门弄斧.轻轻地谈一下. 首先上一段度娘的话: &qu ...

  10. 什么是xss盲打

    什么是xss盲打? 盲打仅仅是一种惯称的说法,就是不知道后台不知道有没有xss存在的情况下,不顾一切的输入xss代码在留言啊,feedback啊之类的地方,尽可能多的尝试xss的语句与语句的存在方式, ...