2013年7月11日

连接池和JDBC优化

摘要: 一、数据库连接池1.什么是连接池传统的开发模式下,Servlet处理用户的请求,找Dao查询数据,dao会创建与数据库之间的链接,完成数据查询后会关闭数据库的链接。这样的方式会导致用户每次请求都要向数据库建立链接而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出、宕机。解决方案就是数据库连接池连接池就是数据库连接对象的一个缓冲池我们可以先创建10个数据库连接缓存在连接池中,当用户有请求过来的时候,dao不必创建数据库连接,而是从数据库连接池中获取一个,用完了也不必关闭 阅读全文

posted @ 2013-07-11 10:00 笨'小孩 阅读(861) 评论(0) 推荐(1) 编辑

JDBC分页

摘要: jdbc分页1.什么是分页在数据量较大的情况下,我们会数据分作多页显示,让用户浏览起来更加的方便,可以根据页码去翻阅每一页的数据2.如何实现分页的分析说到分页,一般都会立刻想到先将数据存入集合,再将数据分作多页显示,这样的做法固然可以,可是一旦数据量较大的话就会造成内存的溢出,再者说,大部分用户的浏览习惯都是只看前三页,如果数据总共有100页,那就完全没必要将数据全部从数据库中查出来了,所以一个普遍的实现方式都是根据用户需要浏览的页码,从数据库中查询一页的数据供用户浏览分页的目的就是为了更加合理地做页面显示,所以首先要解决的就是页面需要显示哪些数据通常来讲,页面上会显示当前页的信息、当前第几页 阅读全文

posted @ 2013-07-11 09:57 笨'小孩 阅读(283) 评论(0) 推荐(0) 编辑

JDBC事务

摘要: jdbc事务1.什么是事务所谓事务,就是针对数据库的一组操作(多条sql)位于同一个事务的操作具备同步的特点,也就是要么都成功,要么都失败2.事务的作用在实际中,我们的很多操作都是需要由多条sql来共同完成的,例如,A账户给B账户转账就会对应两条sqlupdateaccountsetmoney=money-100wherename=‘a’;updateaccountsetmoney=money+100wherename=‘b’;假设第一条sql成功了,而第二条sql失败了,这样就会导致a账户损失了100元,而b账户并未得到100元如果将两条sql放在一个sql中,当第二条语句失败时,第一条sq 阅读全文

posted @ 2013-07-11 09:56 笨'小孩 阅读(652) 评论(1) 推荐(0) 编辑

JSP九个隐式对象

摘要: jsp九个隐式对象ServletConfig configServletContext applicationHttpServletResponse responseHttpServletRequest requestHttpSession sessionJspWriter outthis(Servlet对象) pageThrowable exceptionPageContext pageContext获得其他8个1.out对象jsp中输出数据尽量使用out不要使用response直接获得流输出jsp页面输出时会自动调用response.getW... 阅读全文

posted @ 2013-07-11 09:45 笨'小孩 阅读(291) 评论(0) 推荐(0) 编辑

会话技术

摘要: 会话技术1.会话,用户打开浏览器,点了一些超链接,关闭浏览器的过程2.会话过程中会产生一些数据,这些数据是每个用户独享的,需要找个地方存起来3.会话技术就是解决上述问题的,Cookie是客户端技术,Session是服务器端技术Cookie对象1.Cookie对象的创建Cookiecookie=newCookie(key,value);2.发送CookieResponse.addCookie(cookie);3.获取指定的Cookie//获得用户发送的所有CookieCookie[]cookies=request.getCookies(); //如果没发Cookie过来,为null//遍历找到l 阅读全文

posted @ 2013-07-11 09:29 笨'小孩 阅读(200) 评论(0) 推荐(0) 编辑

Response/Request

摘要: 一、乱码问题1.出现乱码的原因1)在计算机中数据以二进制的形式进行存储的,数据的传输也是通二进制的形式2)需要存字符,会出现字符与字节之间的转换(输入字符读到的字符)3)字符和字节之间如何实现转换?都是通过查码表4)字符到字节是编码,字节到字符是解码,编码和解码用到了不同码表就会出现乱码问题2.解决乱码1)拿到乱码基本上都是由于解码错误导致的,解决办法,重新编码再解码2)以后将文件交给解析器,出现乱码,首先想到是否通知别人文件的编码格式二、Response对象1.responsegetWriter方法获得字符流,用于向浏览器输出字符数据中文乱码问题2.文件下载文件名中文乱码问题由于文件名是跟着 阅读全文

posted @ 2013-07-11 08:56 笨'小孩 阅读(459) 评论(0) 推荐(0) 编辑

Servlet

摘要: ServletServlet是sun公司提供的一种用于开发动态web资源的技术为了方便web服务器对动态web资源的管理,sun公司在其api中定义了一个Servlet接口服务器针对接口进行调用,我们编写的应用程序针对接口进行实现习惯性地,我们把实现了Servlet接口的java类统称为Servlet1.javaweb学什么用java语言开发动态的web资源,接下来就是介绍如何开发动态的web资源对于java程序员而言,所谓动态web资源就是可以运行在服务器上的java程序2.实现服务器管理java程序开发人员写好一个java类,到底有哪些方法tomcat服务器是不可能知道的tomcat服务器 阅读全文

posted @ 2013-07-11 08:46 笨'小孩 阅读(533) 评论(0) 推荐(0) 编辑

Web服务器

摘要: WEB服务器1.基本概念什么是webWEB在英语中即表示网页的意思,它用于表示Internet主机上供外界访问的资源以及超链接所组成的链表放在internet网上供外界访问的文件或程序被称为web资源web资源被分为:静态web资源:html、css、jpg动态web资源:Servlet、Jsp2.什么是WEB服务器?就是一台电脑,安装了一个服务器软件3.为什么需要安装WEB服务器思考问题:从一台计算机的IE浏览器如何去访问另一台计算机中的文件3.1两台计算机是如何实现通讯的?IP地址(计算机的唯一标识)IPV44个字节的整数,每个字节以点号隔开192.168.1.100每个字节的取值0~25 阅读全文

posted @ 2013-07-11 08:37 笨'小孩 阅读(466) 评论(0) 推荐(0) 编辑

http

摘要: http协议1.tcp/ip协议:网络通信协议(连接)ip协议:127.0.0.1ip地址对应一台计算机(互联网层)tcp高级协议:三次握手,发送请求、返回响应、传输数据 (传输层)2.http协议是建立在tcp协议的基础之上 (应用层)3.Http协议的版本(w3c)Http1.0:建立连接,发送一次请求就断开Http1.1:建立连接,可以无限次发送请求http请求消息内容包括一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。请求行POST/itcast/HTTP/1.1消息头Accept:image/gif,image/x-xbi 阅读全文

posted @ 2013-07-11 08:34 笨'小孩 阅读(440) 评论(0) 推荐(0) 编辑

xml/dom/sax

摘要: xml解析DOM和SAXxml解析技术一直更新DOM思想:xml对象问题:文档越来越大--->性能SAX思想:(SimpleAPIforXML)不是官方标准,但它是XML社区事实上的标准,几乎所有的XML解析器都支持它。只去寻找需要的数据,不去分析不需要的JAXP(JavaAPIforXMLProcessing)官方的---sunJDK支持JAXP支持DOM和SAXJdom、dom4j民间--->使用DOM思想来处理XML企业程序员JDOM写到一半的时候其中一部分人DOM4JDOM思想(DocumentObjectModel,即文档对象模型)W3C组织推荐的解析XML的一种方式。元 阅读全文

posted @ 2013-07-11 08:06 笨'小孩 阅读(236) 评论(0) 推荐(0) 编辑

http详解

摘要: HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(NextGenerationofHTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度 阅读全文

posted @ 2013-07-11 08:01 笨'小孩 阅读(284) 评论(0) 推荐(0) 编辑

Web初解

摘要: web网站、网页Javaweb服务器端编程云计算云数据(互联网上)云计算互联网上数据计算云计算--->物流静态。动态web资源区别访问同一个资源,如果说每次访问结果都是一样的,静态;会随着访问,资源内容变化的,动态动态web设计语言ASP(微软)、PHP(开发组织)、JSP(sun)今天动态web系统PHP、.net(ASP.netVB.netc#)、JSP、ruby、python静态网页技术HTMLCSSJavaScriptC/SClinet/Server用户安装客户端程序(QQ、迅雷)B/SBrowser/Server浏览器B/S是一种特殊C/S轻便性web系统怎么通信C/S通信网络 阅读全文

posted @ 2013-07-11 07:58 笨'小孩 阅读(226) 评论(0) 推荐(0) 编辑

for循环增强

摘要: 1)作用:对存储对象的容器进行迭代2)jdk5以前怎么迭代3)增强for循环迭代数组String[]arr={"a","b","c"}; //数组的静态定义方式,只试用于数组首次定义的时候//传统方式for(inti=0;i<arr.length;i++){//i依次表示数组的角标Strings=arr[i];System.out.println(s);}System.out.println("-------------------------------------");//在jdk5中我们可以使用增强fo 阅读全文

posted @ 2013-07-11 07:27 笨'小孩 阅读(404) 评论(0) 推荐(0) 编辑

可变参数

摘要: 1)jdk5中方法的形参可以定义为可变参数,传入实参个数可变//设计一个方法求n个数的和publicstaticintgetSum(int...arr){//可变参数在方法中仍被看做一个数组intsum=0;for(intnum:arr)sum+=num;returnsum;}2)Arrays.asList为例演示传入不同参数的情况//list长度为3Listlist=Arrays.asList("a","b","c");//list长度为1,因为考虑1.4语法String[]arr={"a","b&qu 阅读全文

posted @ 2013-07-11 07:24 笨'小孩 阅读(128) 评论(0) 推荐(0) 编辑

枚举

摘要: 问题:对象的某个属性的值不能是任意的,必须为固定的一组取值其中的某一个解决办法:1)在setGrade方法中做判断,不符合格式要求就抛出异常2)直接限定用户的选择,通过自定义类模拟枚举的方式来限定用户的输入写一个Grade类,私有构造函数,对外提供5个静态的常量表示类的实例3)jdk5中新定义了枚举类型,专门用于解决此类问题4)枚举就是一个特殊的java类,可以定义属性、方法、构造函数、实现接口、继承类//枚举类就是一个java类,也可以声明属性,方法,构造函数publicenumGrade4{A("90-100"),B("80-89"),C(" 阅读全文

posted @ 2013-07-11 07:22 笨'小孩 阅读(126) 评论(0) 推荐(0) 编辑

反射

摘要: 1)java代码的阶段一段java代码在程序运行期间会经历三个阶段:source-->class-->runtime2)Class对象在java中用一个Class对象来表示一个java类的class阶段Class对象封装了一个java类中定义的成员变量、成员方法、构造方法、类名、包名等获得class对象的三种方式和区别//1.根据给定的类名来获得用于类加载Stringclassname="cn.itcast.reflect.Person"; //来自配置文件Classclazz=Class.forName(classname); //此对象代表Person.cl 阅读全文

posted @ 2013-07-11 07:20 笨'小孩 阅读(217) 评论(0) 推荐(0) 编辑

泛型

摘要: 1)泛型是一种可变化的类型类型不确定,需要调用者来指定2)用途:一个类的多个成员方法用到的参数类型或返回值类型都是未知的类型,但又需要是同一个类型,就可将方法的参数类型定义为泛型,此泛型必须在类上先予以声明才能在方法中使用一个方法的多个参数和返回值需要是同一个类型,也可以用泛型来解决,在方法返回值前面声明泛型泛型的细节:1)泛型到底代表什么类型取决于调用者传入的类型,如果没传,默认是Object类型2)使用带泛型的类创建对象时,等式两边指定的泛型必须一致原因:编译器检查对象调用方法时只看变量,然而程序运行期间调用方法时就要考虑对象具体类型了3)等式两边可以在任意一边使用泛型在另一边不使用(考虑 阅读全文

posted @ 2013-07-11 07:17 笨'小孩 阅读(184) 评论(0) 推荐(0) 编辑

eclipse工具

摘要: 1.java代码的位置1)选择工作空间workspace选择一个文件夹存放程序(代码)不要用中文和空格2)新建一个java工程(Project)3)建包建类2.快捷键alt+/:代码自动补齐,需要配置的打开preferences(首选项),搜keys,打开快捷键配置面板搜alt+/,取消绑定搜contentassist,取消原先的绑定,配置成alt+/ctrl+1:错误自动修复,注意,放行的红叉是可修复的,圆形的是不可修复的导包的三种方式:1)将类名敲完整,按下alt+/进行补齐,会自动导包2)ctrl+1,修正错误3)ctrl+shift+o整理包,导入需要的包,去掉多余的导包语句ctrl+ 阅读全文

posted @ 2013-07-11 00:43 笨'小孩 阅读(249) 评论(0) 推荐(0) 编辑

导航