摘要: 1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开 阅读全文
posted @ 2016-02-05 11:40 kabibo 阅读(268) 评论(0) 推荐(0)
摘要: out对象的类型是JspWriter。JspWriter继承了java.io.Writer类。 1)print方法是子类JspWriter,write是Writer类中定义的方法; 2)重载的print方法可将各种类型的数据转换成字符串的形式输出,而重载的write方法只能输出字符、字符数组和字符串 阅读全文
posted @ 2016-02-05 11:08 kabibo 阅读(8716) 评论(0) 推荐(1)
摘要: CSS 格式化ProCSSor - http://procssor.com/CSS 压缩CSS Compressor - http://www.cssdrive.com/index.php/main/csscompressorHTML 格式化Tabifier - http://tools.arant 阅读全文
posted @ 2016-02-05 11:07 kabibo 阅读(719) 评论(0) 推荐(0)
摘要: 下午写jsp页面的时候,用了一个js文件,拖到MyEclipse下了报错,开始还以为是js文件问题,折腾了半天,后来才知道原来是Myeclipse误报错误。真坑爹啊呀~~ 解决方法: 点击你需要忽略错误的页面右键--MyEclipse--Exclude From Validation 勾选就OK。 阅读全文
posted @ 2016-02-05 11:05 kabibo 阅读(1160) 评论(0) 推荐(0)
摘要: 见效的解决方法如下: 在myeclipse中修改jvm启动的参数 打开Myeclipse -->windows-->preference-->myeclipse->server->找到tomcat下面的JDK在文本框中设置启动的参数 -Xms168m -Xmx512m 二、java.lang.Out 阅读全文
posted @ 2016-02-05 11:04 kabibo 阅读(1183) 评论(0) 推荐(0)
摘要: 版本冲突原因: 假设A、B两个用户都在版本号为7的时候,更新了index.jsp这个文件,A用户在修改完成之后提交index.jsp到服务器,这个时候提交成功,这个时候index.jsp文件的版本号已经变成8了。同时B用户在版本号为100的index.jsp文件上作修改,修改完成之后提交到服务器时, 阅读全文
posted @ 2016-02-05 11:03 kabibo 阅读(544) 评论(0) 推荐(0)
摘要: 实效解决方法: 项目->properties->MyEclipse->Web->Web Context-root的名字为重命名之后的名字即可 其实这里的Web Context-root的名字就是我们在新建web项目时的 Context root URL下的值如下图 标记2 值得注意的是:标记1是项目 阅读全文
posted @ 2016-02-05 11:03 kabibo 阅读(413) 评论(0) 推荐(0)
摘要: 1。如果要映射过滤应用程序中所有资源: <filter> <filter-name>loggerfilter</filter-name> <filter-class>myfilter.LoggerFilter</filter-class> </filter> <filter-mapping> <fi 阅读全文
posted @ 2016-02-05 11:02 kabibo 阅读(634) 评论(0) 推荐(0)
摘要: 方案一、重启myEclipse 方案二、 删除对应workspace目录下 “.metadata\.plugins\org.eclipse.jst.jsp.core\jspsearch” 里的 *.index文件 其实只要删除修改时间为当天就可以了。 再打开myeclipse就可以编辑了 阅读全文
posted @ 2016-02-05 11:01 kabibo 阅读(665) 评论(0) 推荐(0)
摘要: 对commons fileupload上传组件的简单封装 在上一篇文章《利用Jakarta commons fileupload组件实现多文件上传》中,我介绍了commons fileupload组件的基本原理和实现方法。但是在实际操作中,我们需要分析每个FileItem,然后从该FileItem中 阅读全文
posted @ 2016-02-05 11:00 kabibo 阅读(486) 评论(0) 推荐(0)
摘要: 一 、简单介绍 使用最为广泛的Java文件上传组件,Struts本身采用这个包来处理文件上传。其基本原理: FileUpload组件将页面提交的所有元素(普通form表单域,如text和文件域file)都看作一样的FileItem,这样上传页面提交的 request请求也就是一个FileItem的有 阅读全文
posted @ 2016-02-05 10:59 kabibo 阅读(437) 评论(0) 推荐(0)
摘要: 利用MultipartFile(组件)实现文件上传 在java中上传文件似乎总有点麻烦,没.net那么简单,记得最开始的时候用smartUpload实现文件上传,最近在工作中使用spring的MultipartFile实现文件上传,感觉挺简单,在这里和大家分享一下. 一.主要有两个java类,和一般 阅读全文
posted @ 2016-02-05 10:58 kabibo 阅读(941) 评论(0) 推荐(0)
摘要: Jstl是sun的标准taglib库,Jstl是标签库和el语言的结合。 el 表达式的隐含对象pageScope,requestScope,sessionScope,applicationScope,比如${hello}语 句首先会从pageScope开始逐个查找scope中的属性,指定域对象语句 阅读全文
posted @ 2016-02-05 10:57 kabibo 阅读(1352) 评论(0) 推荐(0)
摘要: 一、问题描述 问题: 使用<pg:param name="key" />标签传递中文参数时,会有乱码。 原因: 因为它默认是用gb2312来对添加的参数进行编码,如果你的过滤器、jsp页面都是采用的gb2312就没有什么问题,如果你采用的是utf-8来编码,那么中文参数传递过程中就会出现乱码导致无法 阅读全文
posted @ 2016-02-05 10:56 kabibo 阅读(470) 评论(0) 推荐(0)
摘要: 一、Servlet所有监听器简介 在Servlet技术中已经定义了一些事件,并且我们可以针对这些事件来编写相关的事件监听器,从而对事件作出相应处理。 1、目前Servlet3.0和JSP2.0总共有8个监听器接口和6个Event类, 其中HttpSessionAttributeListener与Ht 阅读全文
posted @ 2016-02-05 10:56 kabibo 阅读(235) 评论(0) 推荐(0)
摘要: 一、Pager-taglib数据库分页前提 Pager-taglib分页标签也可以实现数据库分页,与页面分页不同的是需要给后台传两个参数,一个是pageNo(当前页数)或pageOffset(偏移量),另一个参数是pageSize(分页尺寸)。数据库分页的实质是根据页面传递过来的这两个参数从数据库中 阅读全文
posted @ 2016-02-05 10:55 kabibo 阅读(743) 评论(0) 推荐(0)
摘要: 一、Pager-taglib简介 1、Pager-taglib,支持多种风格的分页显示。实际上她是一个Jsp标签库,为在JSP上显示分页信息而设计的一套标签,通过这些标签的不同的组合,会形成多种不一样的分页页面,风格各异,她自带的DEMO就有八种左右的分页风格(在pager-taglib-2.0.w 阅读全文
posted @ 2016-02-05 10:54 kabibo 阅读(5305) 评论(0) 推荐(0)
摘要: 一、获得都是当前运行文件在服务器上的绝对路径 在servlet里用: this.getServletContext().getRealPath() 在struts用: this.getServlet().getServletContext().getRealPath() 在Action里用: Ser 阅读全文
posted @ 2016-02-05 10:52 kabibo 阅读(693) 评论(0) 推荐(0)
摘要: 一、静态包含:包含的文件可以是jsp文件、html文件、文本文件或者一段java代码。<%@ include file="要包含的文件路径"%> 实质是先将所包含的文件的内容直接包含入主文件中,然后再一起进行编译,最后再将一份整体的内容展现给用户,属于先包含,然后编译 <%@ include fil 阅读全文
posted @ 2016-02-05 10:51 kabibo 阅读(784) 评论(0) 推荐(0)
摘要: 为什么需要克隆 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B, 并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java语言中,用简单的赋值语句是不 能满 阅读全文
posted @ 2016-02-05 10:48 kabibo 阅读(620) 评论(0) 推荐(0)
摘要: Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的 过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化 阅读全文
posted @ 2016-02-05 10:47 kabibo 阅读(330) 评论(0) 推荐(0)
摘要: 一.序列化类实现Serializable接口 Serializable接口没有方法,更像是个标记。有了这个标记的Class就能被序列化机制处理。 ObjectOutputStream只能对Serializable接口的类的对象进行序列化。默认情况下,ObjectOutputStream按照默认方式序 阅读全文
posted @ 2016-02-05 10:46 kabibo 阅读(279) 评论(0) 推荐(0)
摘要: 一、序列化与反序列化概述 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 把Java对象转换为字节序列的过程称为对象的序列化。 阅读全文
posted @ 2016-02-05 10:45 kabibo 阅读(265) 评论(0) 推荐(0)
摘要: 一、问题的提出 疑惑1:在设计接口的时,对于接口方法何时需要声明抛出受检异常或者说所有的接口方法最后都声明抛出受检异常? 以下是代码片段: public interface xx{ public void method(); } public interface xx{ public void me 阅读全文
posted @ 2016-02-05 10:44 kabibo 阅读(2202) 评论(0) 推荐(0)
摘要: 在ToStringBuilder学习(一)中提到一个问题,即 readResolve方法是干啥的? 当时也没多想, 只是列在那里, 今天忙里偷闲地把搜点材料整理下这个问题. 原来这个方法跟对象的序列化相关(这样倒是解释了为什么 readResolve方法是private修饰的). ??? 怎么跟对象 阅读全文
posted @ 2016-02-05 10:43 kabibo 阅读(532) 评论(0) 推荐(0)
摘要: 一、简介与引入 1、ToStringBuilder、HashCodeBuilder、EqualsBuilder、ToStringStyle、ReflectionToStringBuilder、CompareToBuilder等这些类都是位于commons-lang.jar下面的,所以要使用这些类一定 阅读全文
posted @ 2016-02-05 10:42 kabibo 阅读(739) 评论(0) 推荐(0)
摘要: 研究ApacheCommon源码, 先从一个最简单的开始,即围绕Object类里的toString方法自动化实现的一系列类. 怎么来自动化地实现toString方法, 有两种:反射和手动设置.这两种方法在上一篇博客中都有体现,这里就不再赘述了.下面列举下其优缺点. 用反射方法的优点: 1. 代码简洁 阅读全文
posted @ 2016-02-05 10:42 kabibo 阅读(1855) 评论(0) 推荐(0)
摘要: 一、java中日期类之间的关系: 其中: 1):java.sql.Date、java.sql.Time和java.sql.Timestamp这三个类是专门和数据库打交道的,它们都是java.util.Date的子类。 java.sql.Date继承了java.util.Date的日期部分(年月日)。 阅读全文
posted @ 2016-02-05 10:41 kabibo 阅读(453) 评论(0) 推荐(0)
摘要: 使用WebLogic时控制台输出中文乱码解决方法: 1.找到weblogic安装目录,当前项目配置的domain 2.找到bin下的setDomainEnv.cmd文件 3.打开文件,从文件最后搜索第一个set JAVA_OPTIONS=%JAVA_OPTIONS%(应该是倒数第五个if块上面,空行 阅读全文
posted @ 2016-02-05 10:41 kabibo 阅读(400) 评论(0) 推荐(0)
摘要: 一、前言 java.lang.reflect.Array类提供了动态创建和访问数组元素的各种静态方法。 static Object newInstance(Class<?> componentType, int... dimensions) 创建一个具有指定的组件类型和维度的新数组。componen 阅读全文
posted @ 2016-02-05 10:40 kabibo 阅读(321) 评论(0) 推荐(0)
摘要: 一、准备知识: Java反射机制以及域的获取与设置的相关方法 二、实现步骤: 1、首先创建一个类包含一个私有属性: class PrivateField{ private String username = "Jason"; } 2、通过反射机制修改username的值: //创建一个类的对象 Pr 阅读全文
posted @ 2016-02-05 10:39 kabibo 阅读(468) 评论(0) 推荐(0)
摘要: 一、准备知识: Java反射机制 处理事务的JavaBean String的操作常用方法 二、模拟步骤 这里我们通过反射机制动态获取属性的值模拟Struts中的自动赋值。 1、首先创建一个简单的User类包含两个属性username和userid以及getter、setter方法: class Us 阅读全文
posted @ 2016-02-05 10:38 kabibo 阅读(224) 评论(0) 推荐(0)
摘要: 关于动态语言: 一般而言,开发者社群说到动态语言,大致认同的一个定义是:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。 Java中的反射机制: Java中的反射机制指的是在程序运行时,对 阅读全文
posted @ 2016-02-05 10:37 kabibo 阅读(910) 评论(0) 推荐(0)
摘要: 首先介绍一下Dbutils: Common Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。 补充一下,传统操作数据库的类指的是JDBC(java database connection:java数据库连接,java的数据库操作的基础API。)。 DB 阅读全文
posted @ 2016-02-05 10:36 kabibo 阅读(562) 评论(0) 推荐(0)
摘要: UUID:通用惟一识别:Universally Unique Identifier; 在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。 GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每 阅读全文
posted @ 2016-02-05 10:36 kabibo 阅读(1065) 评论(0) 推荐(0)
摘要: Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。 阅读全文
posted @ 2016-02-05 10:35 kabibo 阅读(38019) 评论(0) 推荐(1)
摘要: public static void main(String[] args) { Connection conn =getConnection(url,user, pwd); System.out.println("数据连接成功"); CallableStatement cs=null; try { 阅读全文
posted @ 2016-02-05 10:34 kabibo 阅读(1266) 评论(0) 推荐(0)
摘要: 首先必须明确:TCP/IP模型中有四层结构: 应用层(Application Layer)、传输层(Transport Layer)、网络层(Internet Layer )、链路层(LinkLayer) 其中Ip协议(Internet Protocol)是位于网络层的,TCP协议时位于传输层的。通 阅读全文
posted @ 2016-02-05 10:30 kabibo 阅读(1223) 评论(0) 推荐(0)
摘要: boolean result = f.delete(); if(!result) { System.gc(); f.delete; } 阅读全文
posted @ 2016-02-05 10:29 kabibo 阅读(1850) 评论(0) 推荐(0)
摘要: 泛型是JDK 1.5的一项新特性,它的本质是参数化类型(Parameterized Type)的应用,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口和泛型方法。 泛型思想早在C++语言的模板(Templates)中就开始生根发芽,在Ja 阅读全文
posted @ 2016-02-05 10:29 kabibo 阅读(587) 评论(0) 推荐(0)
摘要: 问题一: null和""的区别 String s=null; s.trim()就会抛出为空的exception String s=""; s.trim()就不会抛,为什么? 答: NULL代表声明了一个空对象,根本就不是一个字符串。 ""代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符 阅读全文
posted @ 2016-02-05 10:28 kabibo 阅读(229) 评论(0) 推荐(0)
摘要: 一、 JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 Json建构于两种结构: 1、“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结 阅读全文
posted @ 2016-02-05 10:27 kabibo 阅读(269) 评论(0) 推荐(0)
摘要: 一、 谷歌GSON这个Java类库可以把Java对象转换成JSON,也可以把JSON字符串转换成一个相等的Java对象。Gson支持任意复杂Java对象包括没有源代码的对象。 二、Gson解析Json步骤 A、服务器端将数据转换成json字符串 首先、服务器端项目要导入Gson的jar包到Built 阅读全文
posted @ 2016-02-05 10:26 kabibo 阅读(321) 评论(0) 推荐(0)
摘要: 一、阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征: 速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson; 功能强大,完全支持Java Bean、集合、Map、日期、E 阅读全文
posted @ 2016-02-05 10:25 kabibo 阅读(684) 评论(0) 推荐(0)
摘要: 一、导入导出本地数据库 导出: 1、先运行cmd,cd 到mysql安装目录中的bin文件夹 2、mysqldump -u root -p 数据库名 > 导出文件名.sql 其他情况下: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u 阅读全文
posted @ 2016-02-05 10:24 kabibo 阅读(3983) 评论(0) 推荐(0)
摘要: 一、简介 Struts 2是一个MVC框架,以WebWork设计思想为核心,吸收了Struts 1的部分优点 二、详解 首先让我们看一下一个简单的struts.xml文件的结构 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLI 阅读全文
posted @ 2016-02-05 10:23 kabibo 阅读(279) 评论(0) 推荐(0)
摘要: 错误提示:严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 解决方法: 1、核对WEB-INF目录下的lib包 是否包含strut2 阅读全文
posted @ 2016-02-05 10:23 kabibo 阅读(1296) 评论(0) 推荐(0)
摘要: A、使用继承实现设置全局视图 package节点中还可以设置全局的视图,如: <global-results> <result name="err">/err.jsp</result> </global-results> 但如果其他包也想实现这样的视图,就需要使用继承的方式实现,如: <packag 阅读全文
posted @ 2016-02-05 10:22 kabibo 阅读(470) 评论(0) 推荐(0)
摘要: 方案一: 首先我们要明白struts2加载配置文件都是从它自己的jar包和\WEB-INF\classes两个默认的位置加载的,如果你想改变strusts2中的文件的默认加载路径,可以在web项目的web.xml配置过滤器的时候指定。 如(配置过虑器的部分代码): <filter> <filter- 阅读全文
posted @ 2016-02-05 10:22 kabibo 阅读(409) 评论(0) 推荐(0)
摘要: 一、简介 开发Web应用程序,首先应会遇到对用户输入数据的接收,传统的Web应用程序是由开发人员调用HttpServletRequest的getparameter(String name)方法从请求中获取数据,而Web框架都提供了数据绑定机制,由框架从请求中获取数据然后绑定到一个JavaBean对象 阅读全文
posted @ 2016-02-05 10:21 kabibo 阅读(535) 评论(0) 推荐(0)
摘要: truts2在Action中如何访问request,session,application(即ServletContext)对象???? 方式一:与Servlet API解耦的方式 可以使用struts2中提供的Map对象来访问HttpRequest,HttpSession和ServletConte 阅读全文
posted @ 2016-02-05 10:20 kabibo 阅读(365) 评论(0) 推荐(0)
摘要: 1. Struts2架构图 当外部的httpservletrequest到来时 ,初始到了servlet容器(所以虽然Servlet和Action是解耦合的,但是Action依旧能够通过httpservletrequest取得请求参数), 然后通过Filter chain,Filter主要包括Act 阅读全文
posted @ 2016-02-05 10:19 kabibo 阅读(744) 评论(1) 推荐(1)
摘要: 一、问题的引出 Struts2的类型转换是基于OGNL表达式的,由于请求的参数都是字符串,而JAVA 本身属于强类型的的语言,这样就需要把请求参数字符串转换成其他类型。 Struts2的类型转换器都需要实现一个TypeConverter接口,该接口位于ognl.jar包内,也是就Struts2框架的 阅读全文
posted @ 2016-02-05 10:19 kabibo 阅读(281) 评论(0) 推荐(0)
摘要: 学习Struts2时,发现有过滤器和拦截器,他们貌似都是一样的功能,但是为什么会有2个不同的名称呢?肯定是有区别的,所以打算自己整理一下。 过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 a 阅读全文
posted @ 2016-02-05 10:18 kabibo 阅读(446) 评论(0) 推荐(0)
摘要: 一、web应用的classpath简介 classpath路径在每个J2ee项目中都会用到,即WEB-INF下面的classes目录,所有src目录下面的java、xml、properties等文件编译后都会在此,所以在开发时常将相应的xml配置文件放于src或其子目录下。 Struts 2框架有两 阅读全文
posted @ 2016-02-05 10:17 kabibo 阅读(1153) 评论(0) 推荐(0)
摘要: 一、造成重复提交主要的两个原因: 在平时的开发过程中,经常可以遇到表单重复提交的问题,如做一个注册页面,如果表单重复提交,那么一个用户就会注册多次,重复提交主要由于两种原因。 1、 一是,服务器处理时间久。当用户在表单中填完信息,点击“提交”按钮后,由于服务器反应时间过长没能及时看到响应信息,或者出 阅读全文
posted @ 2016-02-05 10:16 kabibo 阅读(405) 评论(0) 推荐(0)
摘要: 一、 1、文件上传是web应用经常用到的一个知识。原理是,通过为表单元素设置enctype=”multipart/form-data”属性,让表单提交的数 据以二进制编码的方式提交,在接收此请求的Servlet中用二进制流来获取内容,就可以取得上传文件的内容,从而实现文件的上传。 2、Struts2 阅读全文
posted @ 2016-02-05 10:16 kabibo 阅读(158) 评论(0) 推荐(0)
摘要: 被调试代码: package web; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import org.apa 阅读全文
posted @ 2016-02-05 10:15 kabibo 阅读(696) 评论(0) 推荐(0)
摘要: struts2输入校验主要分为两种 代码实现校验和xml配置文件实现校验 (1)代码实现校验 1、 对action所有方法进行validate action需要继承ActionSupport,并在action重写validate()方法,在validate方法中,根据页面的相应 元素名称进行相关校验 阅读全文
posted @ 2016-02-05 10:14 kabibo 阅读(453) 评论(0) 推荐(0)