`
kongweile
  • 浏览: 517285 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
今天第一次用了虚拟机,第一次安装了Ubuntu,其实是CruuchBang. 进入系统之后,需要安装三个软件: git,curl,zlib,这三个软件相信大家上网找一下都可以找到的.记得下载他们的tar.gz版本 然后就是要安装了. 如果是git-1.7.1.tar.gz: 1. tar -xzvf git-1.7.1.tar.gz(如果是bz2则是-xvjf) 2. cd git-1.7.13. ./configure --prefix=/usr/local4. make5. make install 以上三个软件都是类似的安装.   这里提一下Ubuntu里如何取得root ...
以前对java的多线程一直处于半了解状态,但是现在发现多线程其实真的很重要,很有用! 用于多线程的函数有:wait(),notify(),notifyall(),sleep().虽然这四个函数是用于线程的,但只有sleep()属于Thread类的一个静态函数.而其他都是属于基类Object的.也就是说我们每一个对象都可以用到这三个函数.如果这四个函数不在synchronized同步块或synchronized同步函数里,则必须放在try{}catch{}里面.首先说说wait()和sleep()的区别.它们的共同点是:执行它们后,执行它们的对象的线程会挂起.也就是一直停留在wait()和sle ...
VGA:640*480 QVGA即"Quarter VGA".顾名思义即VGA的四分之一尺寸,QVGA:480*320 HVGA 即VGA(640*480)的一半,分辨率为(480*320),(3:2宽高比) WVGA 数码产品屏幕材质的一种,VGA的另一种形式,比VGA分辨率高,别名:Wide VGA, ,其分辩率为800*480象素。
首先在网页文件的body标签中加入center标签: 如 <body> <center> <div id="all"> dosomething </div> </center> </body> 在对应的css里面加入 #all{ background: url(./images/background.gif) no-repeat; height:70em; width: 64em; } height为背景的高度.width为背景的宽度.记得宽度一定不要用百分之几的.不然调整网页大小的时候会变型. 然后在& ...

最短路径--Dijkstra

    博客分类:
  • ACM
我第一次做的最短路径!是poj的2387题目;http://acm.pku.edu.cn/JudgeOnline/problem?id=2387 题目是说奶牛要赶回家睡觉,所以要走最短路径,有t条路径,有n个标记.下面的t行分别是标记之间的距离,这里的输入比较诡异,如果你之前输入了2 3 30.在后面再输入2 3 40,则会忽略这次输入,因为40比30大!首先我是想用open,closed表做的,因为A*和D*也是类似的做法.但是做到后面发现好像这么做的时间复杂度比较大.所以还是改了一下. 这里贴上我的代码: #include <cstdio> int i,j,p1,p2,d ...

save

#include "stdafx.h"#include "sstream"#include "iostream"#include "string" using namespace std; bool check(int n[],int d){ int i,a=0,b=0; for(i=0;i!=d;++i) {  a+=n[i]; } for(i=d;i!=2*d;++i) {  b+=n[i]; } if(a==b)  return true; return false;} int main(){ int i ...
今天我终于会生成静态html啦.呵呵.是用FreeMarker的.最简单的需要:一个ftl文件+一个java文件=一个html文件ftl文件的编写需要大家自己学习啦.也不难.java文件里的   Configuration cfg = new Configuration();  cfg.setDirectoryForTemplateLoading(new File("D:/templates"));   Template t = cfg.getTemplate("hello.ftl");   Writer out = new OutputStream ...
拦截器(interceptor):首先我们必须了解java里的反射机制,因为动态代理是基于反射的,而拦截器是基于动态代理的!所以动态代理和反射都要了解.拦截器就是在进入某个action之前进行一些工作,在action执行完之后再进行一些工作.拦截器是struts2里面的核心,其实拦截器就是一个类,我们可以实现Interceptor接口来创建自己的拦截器,struts2会自动帮我们空实现destroy(),init(),intercept().不过通常我们会继承AbstractInterceptor类.因为它已经帮我们把destroy和init空实现了.我们只需要填写intercept就可以了. ...
在以前的struts2版本中s:datetimepicker只需要在head标签处设置 <s:head theme="ajax"/>, 就可以直接使用s:datetimepicker的标签了。 而在2.1.6版本中不能直接这样使用了,将datetimepicker移除了。 原因是此标签调用了dojo的datetimepicker的库。 所以现在使用的时候首先要导入一个库。 struts2-dojo-plugin-2.1.6.jar。 然后还要设置dojo的taglib Java代码 <%@ taglib prefix ...
输入校验是基于类型转换的,也就是说发生了类型转换才会有输入校验.而当类型转换后(无论成功或失败),输入校验都一定会执行..如果类型转换成功,则数据为用户输入的值,如果失败,int为被赋为0,String,Date等复合类型会被赋为null.然后就开始执行我们的输入校验了.struts2的输入校验大致可以分为3类,输入校验是有顺序的. struts2的输入校验大致可以分为3类(按照他们被执行的顺序排列): 第一类-建立properties文件. struts2的标签库里内置了输入校验的错误提示功能.当你的字段,如<s:textfield name="point"la ...
struts2中的自定义类型转换有分两种 (0).编写类型转换文件该文件应该继承SrtutsTypeConverter,当继承后,自动会有两个重写的方法,一个是convertFromString(从客户端到服务器),一个是convertToString(从服务器到客户端),我们要做的就是在这两个方法中编写你想要转换的类相应的代码. (1).局部转换局部转换就是在你需要类型转换的action的同目录下建立格式如:xxx-conversion.properties的文件xxx代表你的action的名字,在properties中加入:yyy=zzzyyy代表action中你需要转换的成员变量,(注 ...
在Myeclipse中加入插件:在格式如F:\java\Genuitec\MyEclipse 8.5 M1\configuration\org.eclipse.equinox.simpleconfigurator中的bundles文件中加入格式:插件名称,版本号,地址(注意这里要用/替换\),4,false例子:com.objfac.xmleditor,2.0.9,file:/F:/java/Genuitec/Common/plugins/com.objfac.xmleditor_2.0.9/,4,false   finished
1.在Myeclipse建立一个Web Project,在最新的struts2 2.1.8.1中 需要加入的struts2包有6个(struts2-core,freemarker,ognl,xwork,common-logging,common-fileupload),如果是之前的版本则不用加入common-fileupload。 2.最新的2.1.8.1在web.xml中的格式大概如下: <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.di ...
表单提交后转到struts.xml,在struts.xml中搜索与表单中action一样的action名字,并转到相应的class,然后根据表单中textfield等等的name,调用相应的set,在调用set的时候,如果形参是自定义类的话,会调用相应的转换文件,如果是内置类的话,struts2会自动帮你完成转换.此时是从客户端到服务器是String到AnyType. 下面有2种情况: <- (1).如果struts.xml中对应的action中没有设置method方法.则然后调用validate方法,如果在validate中的addFieldError或者addActionError被执 ...
Global site tag (gtag.js) - Google Analytics