戏说java web开发中的listener和filter
文章转自:http://javastudy.blog.51cto.com/183528/78723
jsp开发中的 监听器和过滤器,这两个东西要说起来,很大,很繁。今天我想用一个现实的例子,来说明这两个东东的作用。
案例描述
假设你平时生活在北京,有天你去一个很边远很贫穷的山村体验生活,到了那个山村后,你想要什么东西,村长都会同意,然后安排村民送给你,但是有一点例外的是,一旦你问他们要钱,村长坚决不给,还会带领村民把你打回北京去。
你为了从村民那里带走尽量多的东西,所以你在出发前准备了一个大袋子,希望把村民给的东西都放到袋子里;然后你在回到城市后,这个袋子就没用了,你就把这个袋子给扔了。
代码模拟
恩,我想用如下简单代码来模拟以上案例,大家可以想一下监听器扮演者什么角色?过滤器扮演什么角色?
1. 新建一个java web project;
2. 默认的index.jsp页面上加上两个链接,模拟要村民要红薯和要钱,如下:
<html>
<body>
<h1>欢迎掉入无名村,哈哈</h1><br>
<a href="hongshu.jsp">给红薯</a><br/>
<a href="money.jsp">给钱</a><br/>
</body>
</html>
3. 新建一个大布袋类:BigBag.java,如下:
package chb.demo.web;
import java.util.HashMap;
public class BigBag ...{
public static HashMap<String, Integer> bag;//村民的东西就放在这个袋子里
}
4. 新建一个监听器:MyListener.java,如下:
package chb.demo.web;
import java.util.HashMap;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyListener implements ServletContextListener...{
public void contextDestroyed(ServletContextEvent arg0) ...{
BigBag.bag = null;
&nb
相关文档:
/*我做了个程序把新浪上的天气新闻抓过来存到本地,考虑访问速度问题,新闻中的图片也要保存到本地。
程序如下
*/
package vnet.com.weather1;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java ......
Eclipse 常用插件的安装
1)Download plugin package
2) Exit Eclipse App
3) Unzip the plugin and copy it to ..\Eclipse\plugins
4) Restart Eclipse App
J2EE 的开源平台
Eclipse+Tomcat+Lombez+MyEclipse
MyEclipse: MyEclipseEnterpriseWorkbeachInstall , 安装到目录Eclipse 下才可以正常使用。
Servlet ......
<%
URL url = new URL("http://www.itpub.net");
//建立URL对象,并实例化为url,获得要抓取的网页地址
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),"GB2312"));
//建立BufferedReader对象,并实例化为reader,这里的GB2312是要抓取的网页编码格式
whi ......
C# Java命名规则
C# (C#高级编程,微软设计模式)
命名空间,类,方法 :每个单词的第一个字母大写 例 ServerCode。
(采用Pascal大小写规则)
私有成员:单词的第一个字母小写,通常前面加上“_” 例 _name 或 _serverCode。
(采用camell大小写规则)
Java (java设计 ......
在java中实质只存在一种传递方式:即值传递。 而引用传递是对C/C++而言的。结论:
对于基本类型,在方法体内对方法参数进行重新赋值,并不会改变原有变量的值。
对于引用类型,在方法体内对方法参数进行重新赋予引用,并不会改变原有变量所持有的引用。
方法体内对参数进行运算,不影响原有变量的值。
......