JAVA
文章平均质量分 76
dhzbkj
这个作者很懒,什么都没留下…
展开
-
web开发中文件上传(3)
实例代码及注解public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List types=Arrays.asList(".jpg",".gif",".avi",".txt"); //这个用法 ...原创 2018-06-10 21:05:37 · 293 阅读 · 0 评论 -
线程池
1. 线程池与Executors ExecutorService threadPool=Executors.newFixedThreadPool(4); ExecutorService threadPool=Executors.newCachedThreadPool(); ExecutorService threadPool=Executors.newSingleThreadExec...原创 2018-05-31 09:41:12 · 103 阅读 · 0 评论 -
类加载器
Java虚拟机中可以安装多个类加载器,系统默认一个主要的类加载器每个类负责加载特定位置的类: BootStrap,ExtClassLoader,AppClassLoader类加载器也是java类,因为其他是java类的类加载器本身也要被类加载器加载,显然必须有第一个类加载器不是java类,这正是 BootStrap(不是java类,是嵌套在虚拟机内,随虚拟机加载,由c++开发,).java虚...原创 2018-05-31 09:40:27 · 171 阅读 · 0 评论 -
注解Annotation
注解相当于一种标记,加了注解就等于打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就去干相应的事,标记可以加在包,类,字段,方法,方法的参数以局部变量上。 定义一个最简单的注解:public @interface MyAnnotation{ } 把它加在某个类上:@M...原创 2018-05-31 09:39:53 · 121 阅读 · 0 评论 -
内省(IntroSpector)
内省主要针对JavaBean操作,是特殊的Java类,1.JavaBean是一种特殊的Java类,主要用于传递数据信息,这种java类中的方法主要用于访问私有字段,具方法名符合某种命名规则。 符合基本规则, 具备set和get 方法,就可以当成JavaBean:内省属性由get或set决定,不由对象字段决定,如下,就是内省的属性 如:int getAge(); void ...原创 2018-05-31 09:39:00 · 855 阅读 · 0 评论 -
JavaEE的13种核心技术
JavaEE不仅仅是socket编程,具体包括13种核心技术JavaEE的核心API与组件 JavaEE平台由一整套服务(Services),应用程序接口(APIs)和协议构成,它对开发基于web的多层应用提供了功能支持。1.Java Database Connectivity(JDBC) JDBC定义的四种驱动:JDBC-ODBC Bridge ...原创 2018-05-31 09:38:06 · 347 阅读 · 0 评论 -
Java中关于==与equal的比较
1. “ == ”比较的是地址值 “equals” Object中equals方法比较的是对象的地址值,若要定义其它的比较方式,则覆写equals()方法。Java中String是一个特殊的包装类数据有两种创建形式:String s = "abc";String s = new String("abc"); 第一种先在栈中创建一个对String类的对象引用变量s,然后去查...原创 2018-05-31 09:37:19 · 537 阅读 · 0 评论 -
泛型
泛型 是提供 给javac编译器使用的,可以限定集合中的输入 类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明 的集合时会去掉“类型”信息,使用程序 运行效率 不受影响,泛型的好处:1.将运行时ClassCastException,转移到了编译时间,2.避免了类型转换。多态算是一种泛化机制1.对于参数 化的泛型 类型 ,getClass()方法的返回值和原始类型完全一样,如:ArrayL...原创 2018-05-31 09:36:22 · 87 阅读 · 0 评论 -
hashCode与equals
如果想查找一个集合中是否包含有某个对象,通过equals方法逐一比较,若一个集合中元素很多,譬如1万个元素,这意味着可能要比较一万次。通过哈希算法则可以提高查找效率,这种方式将集合分成若干存储区域,每个对象计算出一个哈希码,将哈希码分组,每组对应某个区域。 HashSet就是采用这种存取对象的集合,它内部采用对某个数字n进行取余的方式对哈希码进行分组和划分对象的存储区域。java系统首先调用对象的...原创 2018-05-31 09:34:32 · 154 阅读 · 0 评论 -
反射机制
java1.JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。Java反射机制主要提供了: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。j...原创 2018-05-31 09:31:17 · 368 阅读 · 0 评论 -
Condition/Object.wait/Object.notify
1.wait及notify方式 class Business{ private boolean bShouldSub =true; public synchronized void sub(int i){ while(!bShouldSub){ try { this.wait(); } catch (InterruptedException e) { // T...原创 2018-06-10 20:51:19 · 151 阅读 · 0 评论 -
内部类与匿名内部类
3.内部类与匿名内部类 1.内部类可以直接访问外部类的成员,包括私有。(因为内部类中持有了一个外部类的引用,格式: 外部类名.this) 2.外部类要访问内部类,必须建立内部类对象 3.当内部类非私有时的访问方式:外部类名.内部类名 变量名=外部类对象.内部类对象 例:Outer.Inner in=new Outer().new Inner(); 4.注意:当内部类中定...原创 2018-06-01 20:11:49 · 90 阅读 · 0 评论 -
操作Bean的几种方式(内省Introspector,BeanUtils,Map)
1.传统方式Person p=new Person();PropertyDescriptor pds=new PropertyDescriptor("age",Person.class);//得到写方法Method method=pds.getWriteMethod();//相当于获取set方法method.invoke(p, 25);//给对象赋值//System.out.println(p.g...原创 2018-06-01 20:13:12 · 226 阅读 · 0 评论 -
Response Download jpg example code
原创 2018-06-02 21:02:47 · 162 阅读 · 0 评论 -
随机认证图片 (实例)
public class ResponseDemo extends HttpServlet {public static final int WIDTH=120;public static final int HEIGHT=30;public void doGet(HttpServletRequest request, HttpServletResponse response) throws Se...原创 2018-06-01 20:22:21 · 348 阅读 · 0 评论 -
servletContext
1. WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。ServletConfig对象中维护了Servlet时,可以通过 方式一:ServletConfig.getServletContext()方法方式二:this.getServletContext()方法 得到ServletContext对象。2. 由于一个...原创 2018-06-01 20:20:37 · 106 阅读 · 0 评论 -
Servlet
注意,若要javac 编译package cn.itcast;时自动生成文件夹,则 java -d . xxx.java思考:客户端请求到服务器响应及Servlet调用的过程??1. Servlet的生命同期: a.用户第一次访问时候创建(无论有多少客户机请求多少次,servlet在服务器里面都只有一个),servlet创建后就注留在内存内,响应后继的请求,(生) b.serv...原创 2018-06-01 20:19:41 · 76 阅读 · 0 评论 -
HTTP
1.http请求:客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求,一个完整的HTTP请求包括:一个请求行,若干请求头,及实体内容 *请求行:用于描述客户端的请求方式,请求的资源名称,及使用的HTTP协议版本号 请求方式:POST,GET,HEAD,OPTIONS,DELETE,TRACE,PUT 常用:GET,POST ...原创 2018-06-01 20:18:26 · 120 阅读 · 0 评论 -
dom4j及XPath
1. dom4j解析及乱码问题dom4j标签查找顺序是:reader.read(new File("src/exam.xml"))----document------》getRootElement()---------》element("student")或elements("student").get(int x)----------》element public void add() thr...原创 2018-06-01 20:17:17 · 373 阅读 · 0 评论 -
SAX解析实例
public class Demo{public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException{//1. 创建解析工厂SAXParserFactory factory=SAXParserFactory.newInstance();//2.得到解析器SAXP...原创 2018-06-01 20:16:32 · 448 阅读 · 0 评论 -
Jaxp(dom、sax)
1.XML解析技术 A. dom:(Document Object Model即文档对象模型) Root--->Element head--->Element body--->Element foot-->Element title -->Element........ 文本内容----》text...原创 2018-06-01 20:15:21 · 226 阅读 · 0 评论 -
XML基础
1.文档声明(文档声明前不能有注释)<?xml version="1.0" encoding="gb2312" standalone="no" ?>2.XML元素 XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签, 包含标签体:<a>www.itcast.cn</a> 不包含标签体:<a>&l原创 2018-06-01 20:14:23 · 86 阅读 · 0 评论 -
filter拦截(Response输出压缩)此案例基础知识面广
Response两种输出方式:1.getOutputStream().writer();2.getWriter().writer();但不能同时存在1.配置文件<filter> <filter-name>GzipFilter</filter-name> <filter-class>cn.itcast.web.filter.GzipFilt...原创 2018-06-05 10:59:25 · 859 阅读 · 0 评论 -
filter拦截(request增强解决全栈乱码)
1. 配置文件web.xml<filter><filter-name>CharacterEncodingFilter2</filter-name><filter-class>cn.itcast.web.filter.CharacterEncodingFilter2</filter-class><init-param><p...原创 2018-06-05 10:58:20 · 314 阅读 · 0 评论 -
观察者设计模式(observer设计模式)-(监听机制)
一、定义被监听对象class Person{ private PersonListener listener; public void registerListener(PersonListener listener){ this.listener=listener; } public void run(){ if(listener!=null){ Even even=new Even(...原创 2018-06-05 10:22:10 · 228 阅读 · 0 评论 -
工厂设计模式
第一:配置文件UserDao=cn.itcast.dao.impl.UserDaoJdbcImpl第二:工厂 public class Daofactory { private static Properties Daoconfig=new Properties(); //一定要静态,不然下面会获取配置文件中的数据时,会出现空指针。 // 注意点1:单例设计,所有Dao...原创 2018-06-03 11:30:51 · 105 阅读 · 0 评论 -
JDBC简介
* 数据库驱动* SUN公司为了简化统一对数据库的操作,定义了一套java操作数据库的规范,称之为JDBC JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成。组成JDBC 的2个包:java.sql javax.sql开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)。操作流程...原创 2018-06-03 11:26:35 · 161 阅读 · 0 评论 -
国际化开发i18n(internationalization)
动态数据国际化* 软件实现国际化,需具备哪些特征: 对于程序中固定使用的文件元素,例如:菜单栏、导航条等中使用的文本元素、或错误提示信息,状态信息等,需要根据来访者的地区和国家,选择不同语言的文本为之服务。 对于程序动态产生的数据,例如(日期,货币等),软件应能根据当前所在的国家或地区的文化习惯进行显示。* 对于软件中的菜单栏、导航条、错误提示信息,状态信息...原创 2018-06-02 21:15:04 · 277 阅读 · 0 评论 -
JSTL(sun公司)中的常用EL函数&标签
* 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,sun公司针对于一些常见处理定义了一套EL函数库开发者使用。* 这些EL函数在JSTL开发包中进行描述,因此在JSP页面中使用SUN公司的EL函数库,需要导入JSTL开发包,并在页面中导入EL函数,如下所示: 在页面中使用JSTL定义的EL函数; <%@taglib uri="http:...原创 2018-06-02 21:13:48 · 153 阅读 · 0 评论 -
标签开发foreach
第一部分:JSP中<%@taglib uri="/simpleforeachTag" prefix="c" %> <body> <% Integer arr[]={1,2,3,4}; //对象类型 request.setAttribute("arr", arr); %&..原创 2018-06-02 21:09:54 · 127 阅读 · 0 评论 -
JSP防盗链
第一步:编写java文件代码public class simpleFDL extends SimpleTagSupport {private String site; //site是要检测的网站,即是否从此网站进入private String page; //当系统检测到用户以盗链方式进行,则先跳转到此页面public void setSite(String site) {this.s...原创 2018-06-02 21:08:49 · 395 阅读 · 0 评论 -
jsp自定义标签开发
1. 自定义标签主要用于移除Jsp页面中的java代码,EL方法也有移除JSP中java代码的功能,但不能替代,因为EL方法并不能适用于所有java代码,如:request.getParameter("haha");2. 要使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: 第一步. 编写一个实现Tag接口的java类,把页面java代码移到这...原创 2018-06-02 21:07:57 · 165 阅读 · 0 评论 -
HTML&jsp
1. 格式位置 <body style="text-align:center">2. 分布情况 <table width="70%" border="1"> border这种写法若表格没有数据,则不会显示线框 <table width="70%" frame="border"> frame这种原创 2018-06-02 21:06:28 · 137 阅读 · 0 评论 -
BeanUtils注册数据类型转换器
1. Apache BeanUtils只支持8种基本数据类型,对于其它类型则要注册转换器,以下以Data为实例 第一种,直接使用Apache 公司实现好了Converer的实现类的转换器,其它实现可以参阅API文档, ConvertUtils.register(new DateLocaleConverter(), Date.class);//但此转换器,有个BUG...原创 2018-06-02 21:05:00 · 1096 阅读 · 0 评论 -
将checkbox中的多个数据传递给servlet
java 中public class Globals{ public static String preference[]={"唱歌","跳舞","打球","跑步","看书","夜生活"};}servlet中public void doGet(HttpServletRequest request, HttpServletResponse response){ request.原创 2018-06-03 11:34:00 · 3398 阅读 · 0 评论 -
request2bean两种写法,及getParameterMap()时的问题
第一种写法 getParamterNam()public static <T> T request2bean(HttpServletRequest Request,Class<T> beanClass){ try{ T formbean=beanClass.newInstance(); Enumeration<S...原创 2018-06-03 11:35:04 · 418 阅读 · 0 评论 -
mysql与sql server分类分页查询语句
mysql:分页:String sql="select * from book limit ?,?"; //适用mysql,但注意,第一个?,代表开始的行数,第二个?是取多少条记录分类且分页String sql="select * from book "+ where +"limit ?,?"; //where 是参数,可用如where category_id=1;代替sql server分...原创 2018-06-03 20:25:05 · 524 阅读 · 0 评论 -
接口及方式实现重要编程思想 (dbutils中BeanHandler)
定义接口,便于功能扩展 重要编程思想A:.当程序不确实数据的处理方式时,或数据的处理方式需要用户指定时,则程序设计时,可提供接口供用户或其它程序处理。让使用者实现此接口并同时完善处理方式。(接口的多实现特性,导致可以设计多种处理方式) interface ResultSetHandler{ public Object handler(ResultSet ...原创 2018-06-04 22:10:32 · 789 阅读 · 0 评论 -
包装设计模式
一、包装与继承 * 继承 MyReader //专门用于读取数据的类 |---MyTextReader |--MyBufferTextReader |--MyMediaReader |--MyBufferMediaRe...原创 2018-06-04 22:04:25 · 1138 阅读 · 0 评论 -
编写 数据库连接池及开源
1. 编写连接池需实现java.sql.DataSource接口。DataSource接口中定义了两个重载的getConnection方法: * Connection getConnection(); * Connection getConnection(String username,string password)2 实现DataSourc...原创 2018-06-04 22:03:36 · 297 阅读 · 0 评论