- 博客(38)
- 收藏
- 关注
转载 有关Session和servletContext长期占用服务器内存的解决方案
有关Session和servletContext长期占用服务器内存的解决方案就是:对于确定不再需要的数据,一定要及时释放所占 资源,比如:context.removeAttribute("mysqlds");否则的话,严重的情况可能造成内存泄露。(请参见我Java部分第 三章内存泄漏部分知识。)4) pageContext:保存的键值仅在本个页面有效。在未来学习Taglib过程当中,将发...
2020-02-10 10:44:20 380
转载 图片名字是中文的解决方案
当我写到本章第七节(jsp一些其它相关话题)的时候,我有一个话题就是解决jsp下面的所有的中文的问题。但当图片名字是中文的时候,怎么都显示不出来图片。上网查了很长时间,也都没有理想的解决方案。有的说改变服务器的设置,有的说把图片的中文名字改成数字名字,之后把相关的信息存在数据库当中。有一个人建议用html的img标签指向Servlet。这个技术我早就知道,但是用在这里,这个想法还真是富有启发性。不...
2020-02-09 19:24:06 583
转载 用sendRedirect跳转
3.用sendRedirect跳转:response的方法:void sendRedirect(String url),将页面重定向到指定的URL地址上。例:3.3.1package com;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpSe...
2020-02-09 17:51:28 694
转载 子目录下的html如何访问servlet?
4)子目录下的html如何访问servlet?web.xml和servlet都一样。只有html有变化。<html><head></head><body><form action="../zp"><input name="user" type="text"/><input type="submit"/&g...
2020-02-09 16:46:58 327
转载 如何shutdown关停外置tomcat5.0?
3)如何关停外置tomcat5.0?1)to shutdown, open a black console,2)C:\Program Files\Apache Software Foundation\Tomcat 5.0\bin>shutdown, note: you can not use graphic interface, it does not work.更多请见:h...
2020-02-09 13:00:42 116
转载 如何shutdown关停 weblogic server?
如何关停 weblogic server?base-domain/control/shutdown.( you must tick the admin server first) gracefully shutdown.更多请见:http://www.mark-to-win.com/index.html?content=Jsp/jspUrl.html&chapter=Jsp/...
2020-02-09 11:26:10 280
转载 Servlet和jsp中跨应用的Session怎么取?
跨应用的Session注意跨应用的Session是取不出来的。我的应用是ServletHello,第二个应用名字叫CookieTest,你可以观察到QueryCookie这个Servlet已经运行了,但就是Session取不出来。可以考虑用文件、数据库,URL传值、隐藏表单传递session id等。初学者不必关心。package com;import javax.servlet.*;...
2020-02-09 10:20:23 189
转载 Webserver ,Web container, Application server的区别
1)Webserver Web container Application server的区别:我下面的这段话介绍非常重要,大家定要牢记。(初学者不必看懂)i)Webserver又名http server:主要处理静态网页http,css,代表作apache,ngix,IIs。速度快。ii)Web container(容器)能处理servlet,asp,php,cgi,但也可以处理静态网...
2020-02-08 19:24:27 331
转载 中文文件下载
2.中文文件下载:假 如你的文件名是英文的话,jspsmartupload就可以胜任。但如果你的文件名是中文的话,就只能用下面的方法。这时jspsmartupload 是不能胜任的。以下例子能下载中文文件名(在firefox,ie8,360都通过测试, eclipse内置浏览器不行):例 1.2.1<%@ page contentType="text/html; charset=GBK...
2020-02-08 10:44:09 230
转载 jsp的文件怎么上传
1.文件上传:有关jsp的文件上传,我们需要导一个叫jspsmartupload.jar的包。例 1.1.1upload.jsp:<%@ page contentType="text/html; charset=GBK" %><html><body><h1><%if(request.getParameter("i")!=nul...
2020-02-08 09:36:32 245
转载 url,sendRedirect当中有中文
3.url,sendRedirect当中有中文中文当想出现在url当中,或通过网络http header或request的parameter或response传送时,得需要变成iso格式传送,到目的地后,再用GBK转换一下,人才能看懂。例 1.3.1jsp5.jsp:<%@ page contentType="text/html; charset=GBK" %><htm...
2020-02-03 19:18:55 251
转载 动态生成html当中的组件
4.动态生成html当中的组件有时html里的字数太多, 而且有一定的规律时,我们就可以用如下的方法产生动态的内容。例 1.4.1test.jsp:<%@ page import="java.util.Date"%><%@ page import="java.text.*"%><%@ page contentType="text/html; charse...
2020-02-03 17:34:06 400
转载 并发事务的数据安全
1)目标的提出:并发事务的数据安全在互联网环境中,我们经常遇到比如:1)春节抢票系统。2)淘宝中大家同时下单买最后的几十个商品。3)你用你的工行账号买东西,同时你的老婆给你这个账号 转入钱或转出钱。上述几个问题的计算机本质就是:几个用户浏览器同时想修改数据库中同一行数据。这就促成了一个著名的艰难话题形成:互联网环境下并发甚至 高并发下的数据安全。马克-to-win:通常都是一个用户浏览器的请求由...
2020-02-03 15:58:14 171
转载 如何用eclipse做一个Taglib的helloWorld例子?
2.Taglib的各种实例:1)helloWorld:注 意当你做下面的项目,首先选择还是老样子,做Dynamic Web project,但是当选择dynamic web module version版本时,过去我们选择2.3,这次我们选择2.4。注意不要错,否则做不过去。从这个例子里可以清楚地看出,标签的前缀greeter定位 配置文件的位置。标签本身Hello会在配置文件当中说明它对应哪一...
2020-02-02 20:52:04 270
转载 缓存是集合框架HashMap怎么做?
2)缓存是集合框架在 实践当中,有很多数据并不是像火车票数或者账户余额这样的关键数据(存在的意义就是为了疯狂的加减,疯狂的变化)。它们只是普通数据库表的一个缓存而已。 比如淘宝网中展示的衣服数据,基本不变,即使变了,不实时准确的展示最新的,也不会引起灾难性的后果,不像银行账户或火车票数。这种数据我们就考虑放在集 合框架当中。我们的备选方案有1)Hashtable,2)HashMap,3)Coll...
2020-02-02 18:40:48 137
转载 缓存是ConcurrentHashMap怎么做给个例子?
iiii)ConcurrentHashMap:ConcurrentHashMap是java1.5的新特性。HashTable在并发环境下效率低的原因: HashTable就一把锁,所有线程竞争。ConcurrentHashMap里面有很多锁,就像数据库里的行级锁一样。改这行,锁这行,不影响别的 行。最重要的是:一个线程添加(put)元素,同时另一个线程读数据不会引起ConcurrentModif...
2020-02-02 16:33:24 222
转载 缓存中ConcurrentHashMap的加锁怎么做给个例子?
ConcurrentHashMap的加锁操作记 不记得,我们在讲java的线程部分安全知识时,举了一个例子【例:1.8.2-(补充)】。卖书卖到最后,卖出了个负数。这里还用那个例子,可是完全用 ConcurrentHashMap。那个例子当中有个bookNum--操作。本例中就想说明ConcurrentHashMap的这个操作 (bookNum--)如何做。例 2.2.2.2import...
2020-02-02 15:21:50 609
转载 自制乐观锁
ii)自制乐观锁:例 2.2.1.2package com;public class Ticket_Opti_MarkToWin { private int number=4; private int numberVersion=0; private synchronized int updAtom(int num,int verNum) { ...
2020-02-01 20:21:01 126
转载 缓存的具体实现
2.缓存的具体实现1)缓存是原始数据类型本 部分我们还是沿用上面的买车票的例子。不过这次的车票不是放在数据库当中,而是放在内存(缓存)当中。为了车票数这个变量不能被两个线程同时改变,我们或者可以用synchronized冠以买票的方法,或者可以加锁。在我们这部分教学中,我们采 取了加锁的方法。一共讲了两个方案,一个是悲观锁,一个是乐观锁。悲观锁的意思是只有拿到了锁才能改变变量,而乐观锁的意...
2020-02-01 18:34:45 241 1
转载 自制悲观锁
i)自制悲观锁:例 2.2.1.1package com;public class Ticket_Pess_MarkToWin { private int number=4; private int lock=0; public synchronized int getLock() { System.out.println("最后还剩...
2020-02-01 17:30:18 188
转载 ServletRequestListener的用法和实例
5)ServletRequestListener:ServletRequestListener能监听到Request的生成和销毁。例 2.2.5.1package com;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;public class MyServletR...
2020-01-29 19:53:53 529
转载 HttpSessionListener的用法和实例
3)HttpSessionListener:Session创建和销毁的时候可以监听到。例 2.2.3.1package com;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;public class MyHttpSessionListener implem...
2020-01-29 15:13:00 592
转载 ServletRequestAttributeListener的用法和实例
6)ServletRequestAttributeListener:ServletRequestAttributeListener能监测到有人正在往ServletRequest里添加属性。你可以采取相应的措施。例 2.2.6.1package com;import javax.servlet.ServletRequestAttributeEvent;import javax.servle...
2020-01-29 13:59:09 465
转载 ServletContextAttributeListener的用法和实例
2)ServletContextAttributeListener:ServletContextAttributeListener能监测到有人正在往ServletContext里添加属性。你可以采取相应的措施。例 2.2.2.1web.xml当中再加入一段话: <listener> <listener-class>com.MyServletContextA...
2020-01-28 19:54:07 635
转载 ServletContextListener的用法和实例
1)ServletContextListener:ServletContextListener能监听到你的应用程序的启动和销毁。例 2.2.1.1package com;import javax.servlet.ServletContext;import javax.servlet.ServletContextEvent;import javax.servlet.ServletCont...
2020-01-28 18:59:25 419
转载 为什么要用Listener(监听器)?
为什么要用Listener(监听器)?马 克-to-win:当你在web.xml里配置好监听器后,当发生一些特定的事件后,你就能知道。比如ServletContextListener能监 听到你的应用程序的启动和销毁,HttpSessionListener能监听到Session的生成和销毁,监听你的在线人数就在这。 ServletRequestListener能监听到Request的生成和销毁。...
2020-01-28 15:47:41 631
转载 FilterConfig的用法是什么?
9)FilterConfig的用法:FilterConfig可以从web.xml当中取得一些有关Filter参数,当Web应用启动时就可以获得了。例 1.2.9package com;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.Filter;import javax.servle...
2020-01-28 15:16:02 483
转载 Filter对Request的改变:HttpServletRequestWrapper的工作原理
8)Filter对Request的改变:HttpServletRequestWrapper的工作原理马 克-to-win:有了HttpServletResponseWrapper的基础,就好理解HttpServletRequestWrapper了。 无疑它就是想在Request到达服务器之前,先把它处理一下。比如过滤掉一些政治敏感字。意义嘛,也好理解。比如n个html页面都需要过滤,如果都在 n...
2020-01-27 15:27:46 222
转载 Filter对Response的改变:HttpServletResponseWrapper的工作原理
7)Filter对Response的改变:HttpServletResponseWrapper的工作原理前面我们讲的知识,主要说的是由于Filter的参与,用户的访问路径被改变的问题。底下我们就要讲一点更难的话题,就是Filter 如何改变一个现有的html。比如我写的新浪博客,写完以后,一上传,内容有时有些改变,谁动的手脚?肯定是新浪公司编了什么Filter过滤器,把我的 html的内容给改变...
2020-01-27 08:54:32 571
转载 Filter的线程安全问题
6)Filter的线程安全问题:和Servlet一样,为了提高性能,Filter也采取多线程模式。即:每一个线程来应答一个用户浏览器,而且这个线程和用户要访问 的目标Servlet的线程是同一个线程。说得更准确一点,当用户访问某个资源需要经过过滤器时,服务器中一个线程为了应答这个客户请求,先调用过滤器中 的doFilter方法,再根据是否有chain.doFilter的指令,决定是否调用目标资源...
2020-01-26 16:00:40 1041
转载 Filter实现登录后自动跳转目标url
5)Filter实现登录后自动跳转目标url下面我们将利用Filter技术完成一个稍微实用一点的需求。需求的内容如下:一言以蔽之,我们就想保护internal目录下的所有 资源,(其他地方不保护)。具体有这么几点:如果用户非法访问internal目录下的资源,就将他导向internal目录下的login.jsp。如 果在login.jsp当中,他输入了正确的用户名和密码,就让他自动跳转到他原来...
2020-01-26 09:49:05 411
转载 Filter与Session配合的简单过渡例子
4)Filter与Session配合的简单过渡例子因为下一个登录例子太难,我先给出一个过度的例子,便于大家理解下一个例子。这里也有个轶事,当我在做下一个登 录的例子时,发现一个非常隐晦的bug。那就是,我本应写成:response.sendRedirect("http: //localhost:8080/ServletHello/home.jsp")。但我实际写成了:response.send...
2020-01-25 16:54:36 328
转载 Filter的生命周期是怎么样的?
2)Filter的生命周期 根据以上的HelloWorld实验,我们也顺便提一下Filter的生命周期。因为有了Servlet生命周期的学习经历,我相信 Filter的生命周期应该比较好理解。不像Servlet那样,当第一个用户访问Servlet时,Servlet才会被实例化,接着马上调用init 的方法。Filter的实例化和init方法调用过程,发生在你的web应用的启动过程中。destr...
2020-01-25 15:33:24 218
转载 Filter执行过程是什么?
3)Filter执行的顺序根据上面的说明“Filter的拦截的工作过程”的图,我们对Filter的Helloworld例子做一个小小的扩展(增加了一个 MarkToWinFilter2,代码和MarkToWinFilter几乎一样),来说明Filter的顺序,结论:filter-mapping在Web.xml中的顺序决定了Filter执行的顺序。例 1.2.3Web.xml中增加下一段:...
2020-01-25 09:21:01 277
转载 请做一个Filter过滤器的hello world最简单的一个例子
1)helloWorld:请同学们先做本部分的Filter的hello world实验。之后根据实验,再返回来学习我接下来的这段话。由于在web.xml当中,我们Filter的url-pattern是/*,所以当用户 访问根目录下的任何目标文件时,我们这个Filter都会起作用。当发现用户要访问home.jsp时,MarkToWinFilter中的 doFilter方法会被运行。其中"之前 fi...
2020-01-24 10:31:07 237
转载 Filter和include的区别是什么?比较一下
Filter和include的比较Filter是一项很好的技术。有人想拿它和include动作或指令相比较。上段所提及的需求,如果是jsp,可以考虑用include动作或指令。但如果是html或servlet,include动作或指令就用不上了。下面的话题比较深,初学者可以忽略。有同学说了,干脆把所有的html变成jsp不就行了。要知道在很多场合,由于涉及到大量并发访问的服务器性能问题,很多公司...
2020-01-24 09:43:20 421
转载 Filter的拦截的工作过程是什么?
Filter的拦截的工作过程:如下图所示:假设我们的工作场景由三个Filter组成。用户从客户浏览器发起请求,访问服务器端某一个html,jsp或 Servlet。如果在Web.xml里,正好配置这个目标文件是在Filter1,Filter2,Filter3的控制之下,则按照下图顺序,客户的 请求先经过Filter3,再经过Filter2,最后经过Filter1,到达所访问的目标文件,之后再经过...
2020-01-23 18:55:15 276
转载 Filter的代码实现方法是什么?
Filter的代码实现方法:要想实现Filter,条件1)你的Filter类必须实现javax.servlet包中的Filter接口。条件2)你还需在 web.xml中加一段类似下面这样的话,其中url-pattern指定了你的Filter要作用的目标,其中下例中的/*代表根目录下的所有东西,包 括html,jsp,servlet等。 <filter> <f...
2020-01-23 15:04:22 301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人