摘要:
StrutsPrepareAndExecuteFilter是Struts 2框架的核心控制器,它负责拦截由<url-pattern>/*</url-pattern>指定的所有用户请求,当用户请求到达时,该Filter会过滤用户的请求。默认情况下,如果用户请求的路径不带后缀或者后缀以.action结尾,这时请求将被转入Struts 2框架处理,否则Struts 2框架将略过该请求的处理。当请求转入Struts 2框架处理时会先经过一系列的拦截器,然后再到Action。与Struts1不同,Struts2对用户的每一次请求都会创建一个Action,所以Struts2中的Ac 阅读全文
摘要:
Spring是什么~春天!哈哈~Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发.那好,那到底什么是控制反转呢?先来看一段代码:public class PersonServiceBean { private PersonDao personDao = new PersonDaoBean(); public void save(Person person){ personDao.save(person); }}lPersonDaoBean 是在... 阅读全文
摘要:
Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。 1 public class HelloWorldAction{ 2 private String savePath; 3 4 public String getSavePath() { 5 return savePath; 6 } 7 public void setSavePath(String savePath) { 8 this.savePath = sa... 阅读全文
摘要:
如果想要接收任意长度的数据,而且避免乱码产生,就可以使用BufferedReader类public class BufferedReader extends Reader因为输入的数据有可能出现中文,所以,此处使用字符流完成。BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中。System.in本身表示的是InputStream(字节流),现在要求接收的是一个字符流,需要将字节流变成字符流才可以,所以要用InputStreamReader 1 import java.io.BufferedReader; 2 import java.io.IOExcept 阅读全文
摘要:
System类的常量System表示系统类,此类也对IO给予了一定的支持。public static final PrintStream out 对应系统标准输出,一般是显示器public static final PrintStream err 错误信息输出public static final InputStream in 对应着标准输入,一般是键盘又是由于历史遗留问题 全局变量没有大写~System.out使用System.out输出的时候就是将输出的位置定义在了显示器之中。FileOutputStream是定位在文件里,而System.out是定位在屏幕上。使用OutputStre.. 阅读全文
摘要:
在整个IO包中,打印流是输出信息最方便的类,主要包含字节打印流(PrintStream)和字符打印流(PrintWrite)。打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数、整数、字符串等等。看一下PrintStream的构造方法:public PrintStream(OutputStream out)在PrintStream中定义的构造方法中可以清楚的发现有一个构造方法可以直接接收OutputStream类的实例,这是因为与OutputStream相比起来,PrintStream可以更加方便的输出数据,这就好比将OutputStream类重新包装了一下,使之输出更加方便。 阅读全文
摘要:
装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案,提供比继承更多的灵活性。动态给一个对象增加功能,这些功能可以再动态的撤消。增加由一些基本功能的排列组合而产生的非常大量的功能。 1 interface Person{ 2 public void eat(); 3 } 4 5 class Man implements Person{ 6 public void eat() { 7 System.out.println("吃饭"); 8 } 9 }10 11 class Decorator implements Person{12 ... 阅读全文
摘要:
管道流(线程通信流)管道流的主要作用是可以进行两个线程间的通讯,分为管道输出流(PipedOutputStream)、管道输入流(PipedInputStream),如果想要进行管道输出,则必须要把输出流连在输入流之上,在PipedOutputStream类上有如下的一个方法用于连接管道:public void connect(PipedInputStream snk)throws IOException例子:线程之间用管道流进行通讯 1 import java.io.IOException; 2 import java.io.PipedInputStream; 3 import java.i 阅读全文
摘要:
ByteArrayInputStream和ByteArrayOutputStream之前所讲解的程序中,输出和输入都是从文件中来得,当然,也可以将输出的位置设置在内存之上,此时就要使用ByteArrayInputStream、ByteArrayOutputStream来完成输入输出功能了ByteArrayInputStream的主要功能将内容输入到内存之中ByteArrayOutputStream的主要功能是将内存中的数据输出此时应该把内存作为操作点ByteArrayInputStream类的定义:public classByteArrayInputStream extends InputSt 阅读全文
摘要:
OutputStreamWriter和InputStreamReader在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类。OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即:将一个字符流的输出对象变成字节流的输出对象。InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即:将一个字节流的输入对象变成字符流的输入对象。一般在操作输入输出内容就需要使用字节或字符流,但是有些时候需要将字符流变成字节流的形式,或者将字节流变为字符流的形式,所以,就需要另外一组转换流的操作类。看一 阅读全文