- 浏览: 64005 次
- 性别:
- 来自: 北京
最新评论
文章列表
首先看一段简单代码,来实现打印文本的功能。
Socket socket = socket = new Socket();
// 设置发送地址
SocketAddress addr = new InetSocketAddress("127.0.0.1", 9100);
// 超时1秒,并连接服务器
socket.connect(addr, 1000);
OutputStream socketOut = ...
Velocity学习(三)中讨论了一下在SpringMVC环境中使用Velocity模板引擎的配置。在实际开发中除了使用HTML之外可能也会使用其他视图如JSP,除了Velocity模板也许会用到FreeMark模板。SpringMVC通过配置多个视图解析器ViewResolver解决上述问题。
在SpringMVC配置JSP视图解析器和Velocity视图解析器
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResol ...
在SpringMVC环境中要是使用Velocity模板引擎来解析View,首先想到是用JSP时,需要配置视图解析器,Velocity同样也需要配置解析器。先看一段简单的配置
<bean id="velocityConfig"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/vm& ...
Velocity学习(一)文章中,使用Velocity简单在页面中输出了一句话,接下来想在template文件中引用图片、CSS文件或者JS文件,也就是要处理一些与路径相关问题。要在模板中引入一张图片,摆在面前一个首要问题就是图片的路径问题。这时候想到在JSP中如何引入图片,JSP中通过Request.getContextPath()可以获得项目根目录,也就是说在Velocity中如果拿到了项目的根目录也就解决了上面的路径问题。很幸运的是Velocity的开发者已经预料到这个问题。
创建toolbox配置文件,通常使用XML文件,将tool.xml配置文件的路径配置到web.xml文件中。
...
Velocity模板引擎技术功能十分强大,在这里仅简单学习了一些入门知识,深入的知识需要在实际开发中运用中慢慢积累经验。这里讲解一下在web application环境中简单使用Velocity。
创建一个View来展示数据,这里以HTML文件作为Templat ...
借助maven可以让我们更加便捷来生成代码,下面讲解一下简单操作
第一步在Eclipse中创建一个maven项目;
第二步要配置generatorConfig.xml;配置如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Con ...
mybatis-generator自动生成代码,可以采用命令行、maven 以及 eclipse插件等方式来实现,其中命令行是最简单的也是基础的,尽管实际中命令行这样的方式可能应用不太广泛,但是为了更好理解和应用其他的方式,还是要简单学习一下。
博客摘要: 通过命令行来使用mybatis-generator工具自动生成代码。
mybatis-generator下载地址:https://github.com/mybatis/generator/releases
配置generatorConfig.xml文件
...
Java创建泛型数组一种实现方式,在Java中创建泛型数组的唯一方式就是创建一个被擦除类型的新数组,然后对其进行转型。
public class GenericArrayWithTypeToken<T> {
private T[] array;
@SuppressWarnings("unchecked")
public GenericArrayWithTypeToken(Class<T> type, int sz) {
array = (T[]) Array.newInstance(type, sz);
}
...
Java泛型 创建实例
- 博客分类:
- Java基础
工厂模式在泛型中创建实例
interface FactoryI<T> {
T create();
}
class Foo<T> {
private T x;
public <F extends FactoryI<T>> Foo(F factory) {
x = factory.create();
}
}
// 对于不是自己定义的Java对象创建
class IntegerFactory implements FactoryI<Integer> {
@Override
pub ...
public interface Generator<T> {
// 使用泛型参数
T next();
}
public class BasicGenerator<T> implements Generator<T> {
private Class<T> type;
// 定义构造方法传递参数
public BasicGenerator(Class<T> type) {
this.type = type;
}
@Override
public T next() {
tr ...
POI创建Excel下拉列表框来设置表格数据有效性,这里需要使用几个重要的对象,关系依赖图如下
XSSFDataValidationHelper 工具类
XSSFDataValidationConstraint 设置数据有效性条件
CellRangeAddressList 设定有效区域
XSSFDataValidation 数据有效性对象,工具类1通过2和3来创建
具体代码可以参考如下
// 创建工作薄
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet(&q ...
Java读写小于2G的文件,可以采用内存映射文件方式。MappedByteBuffer是一种特殊类型的直接缓冲器,使用它我们必须制定映射文件的初始位置和映射区域的长度。
下面以读写1G的文件为例,简单地去应用一下直接缓冲器
// 2G以内的文件读写
// 创建读取文件通道
FileChannel rfc = new FileInputStream("E:/nio/test.dat").getChannel();
// 创建写文件通道
FileChannel wfc = new RandomAccessFile("E:/nio/my.dat", ...
JDK1.4的java.nio.*包中引入了新的Java I/O类库,其目的在于提高速度。在新I/O中我们需要知道有两个非常重要的对象,那就是通道和缓冲器。唯一与通道交互的缓冲器是ByteBuffer。
1、简单读取文本信息(不支持中文)
FileInputStream in = new FileInputStream("E:/nio/test_en.txt");
FileChannel fc = in.getChannel();
ByteBuffer buffer = ByteBuffer.allocate(1024);
StringBuilder text = ...
创建两个下拉列表框分别来填充省份和地区的数据。
<div class="form-group">
<label for="province">所属省份</label>
<select name="province" id="province" class="form-control" ng-model="selectedProvince" ng-options="x['name'] for x ...
SpringMVC在实际的开发应用过程中,通常采用注解的方式。
第一步,告知Spring,Controller放在哪个路径下,让Spring容器自动去寻找和装配Controller。
<context:component-scan base-package="org.lian.controller"/>
第二步,SpringMVC中HandlerMapping和HandlerAdapter是成对出现,接下来就是配置这两个对象。
<!-- 采用注解的方式 HandlerMapping 和 HandlerAdapter-->
< ...