java开发
xiechao240
这个作者很懒,什么都没留下…
展开
-
cookie之我见
31. cookie不是特别重要,但是概念特别重要。为什么要写cookie,有些网站,是不是问你记不记住密码,可以在客户端存一点信息,这个纯文本的,不能存太多。比如一千万个人同时购物,那要浪费多少资源啊,你购物的信息,如果全保存在客户端,你点确认,就把你的购物信息发到服务器上去。 cookie 默认为当前目录,换一个用户登录,window别人就读不到你那些信息了。你到c盘里面去...原创 2010-08-13 15:03:25 · 56 阅读 · 0 评论 -
定位解决默认选中
jstl:<select name="category" class="select1" id="category"> <c:forEach items="${itemCategoryList}" var="ic">原创 2010-08-16 15:05:32 · 103 阅读 · 0 评论 -
不同服务器上开发程序时间同步的问题
49. 你现在在操作日期这个字段上放值,一般 是直接放一个new Date()上去。你现在做是在一个tomcat上,假设现在有多个tomcat呢?这样的话,就是集群了,多个tomcat就位于不同的机器 上,你怎么保证同时是同步的,你new Date()这样拿的是什么啊,你的操作系统时间啊, 我在这个机器 上new 一个date,那个机器上new 一个,你怎么就能保证时间一点都不差...原创 2010-08-16 15:08:10 · 262 阅读 · 1 评论 -
如果你的项目 数值类型要求非常严的话请用BigDecimal
58. 他说这个计算的事,如果你使用什么float,double会存在一些精度上的问题,他说他以前上j2se的时候讲过这个事。就是这个类BigDecimal59. 所以定义的时候就这样,如果你的软件是账务软件,那就要用这个类型,不能月末结账的时候差几分钱,差几离钱出现这类问题。private BigDecimal optQty;60. 我们为了简便一点,就不用上面那种类型...原创 2010-08-16 15:12:14 · 90 阅读 · 0 评论 -
一个servlet解决增删改查
现在用三大框架来开发,快是很快,什么事务,转发的非常容易了,回到原始的开发模式: FlowcardServlet @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOE...原创 2010-08-16 15:26:22 · 186 阅读 · 0 评论 -
ThreadLocal 我所用到的地方
92. 现在来看怎么把三个方法保证同步,servlet是单实例多线程运行的,你去调用FlowCardServlet就会启动一个线程,在这个线程里其实就调用了你写的那三个方法,现在我就只要保证你这三个方法都在一个线程里面就可以了。93. 在同一个线程里保证使用一个connection这就涉及到一个类ThreadLocal这个类不是本地线程的意思,这个类就在java.lang包中。作用...原创 2010-08-16 15:35:28 · 101 阅读 · 0 评论 -
转发情况下的查询条件保持住:
96. 重点说一下上面的东西,${param.clientName}这种取参数的方式,我以前从来没有用过,因为这牵涉到三个页面,第一个页面查询一把提交到这个servlet,在这个servlet里面request.get拿到值处理好后,我又没有用reqeust.set去放值 ,再就转发了,因为 前面就说了转发共享同一个request,所以可以像上面那样拿值了。...原创 2010-08-17 09:53:57 · 70 阅读 · 0 评论 -
Jsp中的静态包含与动态包含:
99. 现在来讲静态和动态include 关于这个include有两种方式 <%@ include file="" %>这种是静态包含,假设我现在一个jsp,我再引一个jsp进来,他会形成什么,形成servlet,那你在这引了两个jsp进来,形成几个servlet,第一种形成一个,那第二种肯定形成两个啦。100.<%@ include file="" %&g...原创 2010-08-17 09:55:45 · 79 阅读 · 0 评论 -
Listener
107. 我们再介绍一个比较重要的概念,ListenerListener叫监听器,也就是说当我们的某个状态发生改变的时候,他就能监测到。其实进一步来理解ajax,他就是一个监听啊,我写一个方法他要回调啊,那个方法其实就是注册到注册表里,当ajax处理完后,马上调用。108. 了解Listener的机制,Listener可以监听服务器端相关的状态变化,当服务器端状态发生改变,将调用相应的...原创 2010-08-17 09:56:10 · 79 阅读 · 0 评论 -
验证码:
58. 接下来看一下,验证码,现在很多网站都加上了验证码,其实在前几年根本就没有这东西。为什么要加呢?如果你不加验证码,他要知道用户名和密码,他会写个程序登录进去,然后不停地发帖子,做广告之类的。现在有验证码你就不行了。因为有了验证码呢,每次码值 不一样,你必须手动输入,你不手动输入你不可能进去,这样的话呢,你想进去搞破坏你也进不去了。59. 这个验证码其实他的生成就是一张图片,而且这...原创 2010-08-17 10:03:06 · 258 阅读 · 0 评论 -
之前的一个表之间的关联我没能查出来
65. 现在要做这个分销商没有个数,你也得在报表图上出来,这个怎么写。66. a.name拿到数据字典里面的name字段select a.name,count(*) from t_data_dict a joint_client b on a.id=b.client_level_id group by a.name 因为这里有聚合函数,所以你得用分组函数来分。 现在一查...原创 2010-08-17 10:07:44 · 106 阅读 · 0 评论 -
request.getSession(true)和request.getSession(false)的区别
77. 现在来看一下request.getSession(true)和request.getSession(false)的区别? 以前就解释了一下。第一个就是默认里面的参数是true,即当前的request的session不可用时,那么 他就会创建一个新的会话,也就是没有的话就创建 ,第二个就是,当前会话不存在的时候,它会返回一个null值。78. 就像你直接通过地址去访问一个s...原创 2010-08-17 10:10:49 · 98 阅读 · 0 评论 -
map
79. map是一个非常强大的数据结构,他还可以用来表示一个表,王勇说他类似这样做过。你看一下这种情况map{key='table_name'value=map{ key="字段名称" value="字段值"}} 72. map是一个很常用的数据结构,速度非常快,还有一个Hashtable,这个已经不建议使用了,因为他里面所有 的方...原创 2010-08-17 10:32:45 · 77 阅读 · 0 评论 -
Cache-control缓存控制
HTTP头的Expires与Cache-control1.概念Cache-control用于控制HTTP缓存(在HTTP/1.0中可能部分没实现,仅仅实现了Pragma: no-cache)数据包中的格式:Cache-Control: cache-directivecache-directive可以为以下:request时用到:| "no-cac...原创 2010-08-17 11:05:43 · 230 阅读 · 0 评论 -
java中的类加载器,与tomcat自己又做了一些类加载器的不同
52. 现在来讲一下java中的类加载器的原理(双亲委派机制),在java中主要有三个加载器,启动类加载器,还有扩展类,还有系统类或者叫应用类加载器都行。不同的加载器啊,他找的东西不一样。53. 那些核心啦,比如 java核心 java.开头那些,那些api他都是BootStrap加载的。54. Ext扩展类加载器,他可以加载,你到java的安装目录下 jdk\jre\ex...原创 2010-08-17 11:11:12 · 140 阅读 · 0 评论 -
uri与url的区别
23. 所以我们得把这个login.jsp这个页面除外。req.getRequestURI(); .getRequestURL();这个是一个完整的路径。System.out.println(req.getRequestURI(););System.out.println(req.getRequestURL(););24. 看看url 和 uri有什么差别,uri...原创 2010-08-18 10:00:09 · 75 阅读 · 0 评论 -
取得context.xml中配置的连接池的Java代码的写法
7. bind(String name,Object obj)他这个jndi就相当于工厂一样,他产品的创建细节隐藏了,要用的时候我直接拿就可以了。8. ctx.lookup("jdbc/drp");你不能这样写就完事了啊,前面还有一个串,这个串是j2ee的规范,而且这个串不能随便写,应该是这样写ctx.lookup("java:comp/env/jdbc/drp");他返回什么呢?...原创 2010-08-18 11:00:31 · 194 阅读 · 0 评论 -
Thread.sleep(long)和object.wait(long)的共同点和不同点
Thread.sleep(long)和object.wait(long)的共同点和不同点(zz)- 收藏 共同点: 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。不同点: Thread.sleep(long)可以不在synchronized的块下调用,而且使用Thread.sleep()不会丢失当前线程对任何对象的同步锁(monitor); ...原创 2010-08-20 16:11:30 · 126 阅读 · 0 评论 -
jstl
98. 现在来看一下 el 表达式对运算符的支持:1+1=${1+1}这样能计算出来,这里面支持通常的运算10/5=${10/5}10 div 5 = ${10 div 5} 效果是一样的。10%3 = ${10%3} 取余是110 mod 3 = ${10 mod 3} 这个也是取余还有== eq!= ne< lt> gt...原创 2010-08-16 14:47:18 · 98 阅读 · 0 评论 -
成员变量与类的属性的区别
public class User{ private String username; public String getUser() { return username; } public void setUser(String username) { this.usernam...原创 2010-08-16 14:43:34 · 165 阅读 · 0 评论 -
servlet之我见
18. servlet的生命周期是由tomcat来管理 的。是一个单例模式,能负责servlet这样的一个生命周期,就叫容器,最基本的生命周期的管理 。 19. <servlet> <serlvet-name>fs</servlet-name> <servlet-class>FirstServlet</ser...原创 2010-08-13 15:06:18 · 74 阅读 · 0 评论 -
session之我见
37. 一千万个人访问网站 ,就创建一千万份session,你一份,我一份,getSession()可以拿到相应的session. 比如:张三来拿到session,就request.getSession(); 还有带参数,request.getSession(true); false; session跟cookie类似,也跟窗口绑定,通过这个ser...原创 2010-08-13 15:18:32 · 94 阅读 · 0 评论 -
Date SimpleDateFormat Timestamp举例
Date date = new Date(); System.out.println(date);; Timestamp time = new Timestamp(date.getTime()); System.out.println("time:"+time); SimpleDateFormat sdf = new SimpleDateFo...原创 2010-08-13 16:17:06 · 64 阅读 · 0 评论 -
分页类 PageModel的手法
/** * 封装分页逻辑 * @author Administrator * */public class PageModel<T> { //结果集 private List<T> list; //记录数 private int totalRecords; //每页多少条数据 private int pag...原创 2010-08-14 09:01:18 · 655 阅读 · 0 评论 -
项目中树的设计
62. 现在开始做分销商这一块的功能,主要有一个树形的功能。这个树形结构功能我们做得不是很好,不太灵活 ,关于这个树形结构有一些组件,做的比较好。在这个项目里不使用。 63. 先来看一下,树的几种设计方式:1,不带冗余字段,id,pid 一般使用id,pid已经足够了。但是这种方式在遍的时候有一个效率的问题,因为我要看一下下面有没有结点。 2, ...原创 2010-08-14 10:24:49 · 219 阅读 · 0 评论 -
Filter过滤器之我见
32. 用了过滤器写了,最后保存还是乱码,怎么回事啊,Filter起作用了,但为什么没用呢?因为Filter只对post提交起作用,因为我的form里面没有写method="post"写上就没事了。 filter只对reqeust,response来说起作用,对方法的拦截他不起作用了,我想对方法,比如说在这个方法执行之前做点事,做完后做点事,前面讲到过。用动态代理来解决。...原创 2010-08-16 09:18:14 · 83 阅读 · 0 评论 -
在项目中路径都从根开始找
23. 在html页面上加上<base href="<%=basePath>">这个标签意思就是html标签全从根开始找路径。51. String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+r...原创 2010-08-16 09:19:16 · 217 阅读 · 0 评论 -
上传文件模块
if (formbean.getUploadfile() != null && formbean.getUploadfile().getFileSize() > 0) { //把前台upload.jsp页面中的Js验证注释掉,传一个Jsp的文件上来,通过这条打印看一下。 //结果他打印 文件格式 ...原创 2010-08-16 09:21:21 · 143 阅读 · 0 评论 -
关于事务
关于事务,你如果不用框架写web 代码的话,一定要记得这个你要调方法,你把connection传过来,你这个功能要三个方法,但是调的时候都是用同一个connection这样可以保证事务。这是最简单的搞法,其实做项目至少应该是采用Jdk提供的动态代理来控制事务,如果使用框架的话,肯定就是spring来了。 ...原创 2010-08-16 09:23:49 · 66 阅读 · 0 评论 -
xml读与写
注意需要加入支持xpath的包jaxen-1.1-beta-6.jarimport org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;/** * 采用单例模式读取xml配置文件sys-config.xml...原创 2010-08-16 09:24:34 · 68 阅读 · 0 评论 -
得到404或500之类的转到错误页面上并显示错误信息
41. 在ShowAddItemServlet这个servlet里面的doGet里面写:try{}catch(AppException e){//如果出了这个异常了就转到req.setAttribute("errorMsg",e.getMessage());这里面已经携带了比较完整的错误信息了,你也可以这样req.setAttribute("errorMsg",“XXX错误”...原创 2010-08-16 09:26:14 · 121 阅读 · 0 评论 -
servlet陷入死循环里面去了。
70. 你看如果你在地址栏里面输入http://localhost:8080/drp4.2/basedate/lsdfjas这样就会出现一个死循环了,以前说什么效率很慢,是由于这个原因啊,你没有这个路径,出错了我又去找404,而去找404对应的错误处理页面,路径又不对,这就是一个死循环了。71. 就得去处理一下啊在drp4.2的http-error.jsp页面中有相应的处理方式。...原创 2010-08-16 09:26:33 · 524 阅读 · 0 评论 -
用jstl解决默认选中
<select name="category" class="select1" id="category"> <c:forEach items="${itemCategoryList}" var="ic"> &原创 2010-08-16 09:27:29 · 342 阅读 · 0 评论 -
一启动servlet并让他做点事
46. <servlet-mapping><servlet-name>ClientIdValidateServlet</servlet-name><url-pattern>/servlet/ClientIdValidateServlet</url-pattern></servlet-mapping> 写两份这个东西是可以的...原创 2010-08-16 09:29:27 · 58 阅读 · 0 评论 -
一启动servlet并让他做点事
46. <servlet-mapping><servlet-name>ClientIdValidateServlet</servlet-name><url-pattern>/servlet/ClientIdValidateServlet</url-pattern></servlet-mapping>写两份这个东西是可以...原创 2010-08-16 09:29:27 · 60 阅读 · 0 评论 -
java中各种集合取值 的方法
public class SiteUrl { private static Properties properties = new Properties(); static{ try { //这个load()方法里面要一个 输入流,你能这样写吗? //properties.load(new File("D:\\")) properties.load(S...原创 2010-08-16 10:12:44 · 1300 阅读 · 0 评论 -
java中synchronized浅析
69. 你也可以不在方法定义的时候声明synchronized而是:public Object getBean(Stirng id){synchronized(this){//这样就是同步代码块,其实怎么同步,你得看,假如说你这个方法要执行2分钟,那别人就在这等着,假如你这个方法里面有200行代码,只有5行代码要同步,你就用同步代码块好一些。}//下面这样是一样的,同步也是...原创 2010-08-16 14:40:43 · 71 阅读 · 0 评论 -
读取配置的又一种读法
/** * 读取配置文件 * */public class ConfigInfo { private static Properties cache1 = new Properties(); static{ try { cache1.load(ConfigInfo.class.getClassLoader().getResourceAsStream("m...原创 2010-08-29 11:05:45 · 63 阅读 · 0 评论