数据库Blob数据类型转String

November 15, 2015

blob数据是存储大对象数据类型, 一般存放二进制的,所以才用字节存取。 首先判断blob数据是否为空,然后采用输入流读出数据,具体代码如下:   1 String content = null; 2 try { 3 4 if(image != null){ 5 InputStream is = image.getBinaryStream(); 6 byte[] b = new byte[is.available()]; 7 is.read(b, 0, b.length); 8 content = new String(b); 9 } 10 System.out.println(content); 11 } catch ( IOException e) { 12 e.printStackTrace(); 13 }  

JSP数据交互(二)和Servlet基础

November 15, 2015

01.Application原理与应用   01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量。只要服务启动,则application对象就会存在。   02.在一个应用中只有一个application,每一个用户都会共享这一个application对象。   03.通过统计网站访问次数来讲解application的用法   02.对象作用域   03.Cookie简介 解析:cookie是Web服务器保存在客户端的一系列文本信息,根据域名和端口号区分是否保存成一个文件,文件大小为4k。注意:http://localhost:8080/news 和http://localhost:8080/news/util会形成两个cookie文件。   1. 什么是cookie   浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响应,然后就关闭与该用户的连接。因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而知。为了弥补这个

java中的final总结

November 15, 2015

Java关键字final有最终的,不可改变的含义,它可以修饰非抽象类、非抽象类成员方法和变量。 报错:类"TestFinal"要么是abstract,要么是final的,不能两个都是. 1.final修饰的类就是终极的.不能被其他类继承,就不可能有子类. 2.由于final类没有子类,其中的方法不可能被覆盖,因此,final类中的 所有方法和变量都是final的,并不需要明确地将某个方法声明为final.   public final class TestFinal{ public static final int I=1;//final类中的数据成员可以是final的 protected int j;//final类中的数据成员可以不是final的 public void f(){}//final类中的方法是final的,可以不明确声明 public final void g(){}//final类中的方法可以声明为final的,不过没什么意义 } 3.final方法不能被子类的方法覆盖,但可以被继承。   public class Test

面向切面记录log4j日志

November 15, 2015

首先,AOP处理日志是必需的,不使用AOP处理日志有诸多不便。 日志处理是每个项目当中一个非常重要的内容。没有了日志,也就失去了对系统的可控性。没有日志,系统出现任何问题,都会没有踪迹可寻,这对一个信息系统而言是非常危险的。  然而,使用纯OOP思想进行日志处理,我们会发现,每个逻辑部分中总会混入日志处理的代码,导致纯OOP思想的设计略显不伦不类。同时,如果记录日志的类型需求有变更,那么我们就要去每个逻辑单元中修改Java代码。另外,如果需求今天变了明天再变的话,我想这将是一个非常繁重并且惹人厌的工作。 其实日志处理应该是软件系统中单独的一大部分,开发人员在进行系统开发时,不应该再来考虑日志处理。AOP能够做到这一点,让开发人员更加专注于系统的业务编码,而无需顾虑日志问题(这一点大家可以联系声明式事务处理的方式,配置好了处理事务的配置文件,编写Manager或者action时,都无需顾虑事务)。 然后,介绍例子中的代码实现。 1、引入jar包:                   2、切面Aspect代码: package com.lzq.spring.aop; import o

什么是单例模式?

November 15, 2015

单例模式的定义:一个类就有一个实例对象,而且自行实例化,并向整个系统提供这个实例。 单例模式根据实例化对象的时机不同分为两种:饿汉式单例、懒汉式单例。 懒汉式单例: public class Singleon{ private static Singleon singleon = new Singleon(); private Singleon(){} pulic static Singleon getInstance(){ return singleon;    } } 饿汉式单例: public class Singleon{ private static Singleon singleon = null; private Singleon(){} public static synchronized Singleon getInstance(){ //加上synchronized 纯粹就是为了线程安全,这里我就不多说了,自己接触的不多,没有发言权

java多态与异常处理——动手动脑

November 15, 2015

编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。 要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都不会崩溃。   import java.util.*;   public class Mark { public static void main(String[] args) { Scanner sc =new Scanner(System.in); int score=0; System.out.print("请输入成绩:");            try         {       score=sc.nextInt();           if(score>=0&&score<=59)              {                System.out.println("不及格");              }              if(score>=60&&score<=69)              {               System.o

Servlet+Javabean+Html实现简单的查询.删除.修改.添加四个功能

November 15, 2015

1. 1.1 首先创建一个单列,供外界实用: package cn.com.yong.Utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBConnection { private String url="jdbc:mysql://localhost:3306/guimei"; private String user="root"; private String password="666888"; private Connection con=null; //构造方法私有化 private DBConnection(){ try { Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection(

修改ueditor1_4_3编辑器jsp版使上传图片支持水印

November 15, 2015

主要思路:ueditor编辑器上传图片以request请求发送到后台,后台接收通过流的形式进行处理,我们只要在后台拦截到图片文件并进行加水印处理就能够实现该功能。 一、 下载ueditor1_4_3编辑器jsp版,使其能够正常工作; 二、 修改源码   主要修改StorageManager.java文件          1) 添加将上传文件和水印文件合成带水印图片的代码 /** * 将上传文件和水印文件合成带水印图片 */ public static void setWaterMark(File targetFile, String rootPath, String path) throws IOException { //源文件 Image src = ImageIO.read(targetFile); int width = src.getWidth(null); int height = src.getHeight(null); BufferedImag

java按值传递理解

November 15, 2015

Java没有引用传递只有按值传递,没有引用传递只有按值传递,值传递。 通过下面代码解释: 1 public class Test { 2 public static void main(String[] args ){ 3 int var = 1 ; 4 f(var) ; 5 System.out.println(var) ; 6 } 7 public static void f(int newVar ){ 8 newVar = 2 ; 9 } 10 } 执行结果:  1 分析: 当执行 int var = 1 时,jvm在栈中开辟一块空间存放值---1,同时var变量指向值1所对应的内存空间,也就是var变量也有自己的内存空间,不过它的空间里存放的是值1所对应的内存地址。   当执行到第七行,要将var的值传递进方法f中时,jvm执行的操作是创建一个新的变量newVar,并将var里存放的值(也就是值1的内

java项目打成jar包时引用了第三方jar,此时我们该如何解决呢

November 15, 2015

Web项目做多了,反而对单纯的java项目陌生了,今天我们在开发项目的过程中,碰到一个这样的需求:需要将java项目放到linux系统上跑起来,当然这个javaSE项目是带main方法的。我们知道在IDE里写完JavaSE项目后,运行非常简单,只要本地java环境装好了,右击main方法---->run as-->java application就行,那么放到linux上呢?目前我们想到的有两种方法:一种是打成jar包放到服务器上,用命令java -jar ****.jar执行jar包即可。另外一种也是挺常见的将java项目放到服务器上,然后写一个shell脚本执行。关于方法二,还正在尝试之中。今天我要说的是方法一操作时需要注意的。 打jar包很简单,直接在myeclipse或者eclipse里导出jar包就行。具体做法是: 右击项目------->export---->选择JAR file: ------>next----->:指定导出的jar包具体存放位置即jar包名称: ------>next--->默认: ------>选择要执行的main方法: ----->finesh,这样