??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品视频在线看,亚洲精品无码激情AV,亚洲AV日韩AV永久无码久久 http://www.tkk7.com/super2/学习复习 zh-cn Fri, 09 May 2025 18:14:30 GMT Fri, 09 May 2025 18:14:30 GMT 60 Scanner----java控制台和文gd的利?java 5新增) http://www.tkk7.com/super2/archive/2009/07/10/286236.html淘声依旧 淘声依旧 Fri, 10 Jul 2009 05:40:00 GMT http://www.tkk7.com/super2/archive/2009/07/10/286236.html http://www.tkk7.com/super2/comments/286236.html http://www.tkk7.com/super2/archive/2009/07/10/286236.html#Feedback 0 http://www.tkk7.com/super2/comments/commentRss/286236.html http://www.tkk7.com/super2/services/trackbacks/286236.html
上一ơ说java没有c++里类似cinq样的从控制台读取的命oQ其实不寏V今天介l的Scannerq个cLjava 5新增加的c?不仅使用方便Q功能更是强大。先来看一个简单的例子:System.in指明从键盘读入数?nbsp;
import java.util.*;
public class ScannerTest {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
double a=scanner.nextDouble();
System.out.println(a);
}
}
q行
输入 一个Q意数然后输出q个?/span>
注意_体字的地方Q这一行就实现了从控制台输入数字的功能Q如果要从键盘输入字W串 可以用:
String a=scanner.next();//注意不是nextString()
Scannerq可以直接扫描文Ӟ比如Q有炚wQ耐心一点)。可以指定其他输入流的对?如FileInputStream的对?q样的话是从文仉d数据,而不是从键盘d
import java.util.*;
import java.io.*;
public class ScannerTest {
public static void main(String[] args) throws IOException{//q里涉及到文件io操作
double sum=0.0;
int count=0;
FileWriter fout=new FileWriter("text.txt");
fout.write("2 2.2 3 3.3 4 4.5 done");//往文g里写入这一字符?br />
fout.close();
FileReader fin=new FileReader("text.txt");
Scanner scanner=new Scanner(fin);//注意q里的参数是FileReadercd的fin
while(scanner.hasNext()){//如果有内?br />
if(scanner.hasNextDouble()){//如果是数?br />
sum=sum+scanner.nextDouble();
count++;
}else{
String str=scanner.next();
if(str.equals("done")){
break;
}else{
System.out.println("文g格式错误!");
return;
}
}
}
fin.close();
System.out.println("文g中数据的q_数是:"+sum/count);
}
}
l果输出文g中数据的q_数是:3.1666666666666665
q段E序的功能是?2 2.2 3 3.3 4 4.5 done"写入文gscannerd文g中的数直到donel束。ƈ求出数字的^均|比较有意思的是scanner会自动一I格作ؓ分割W区分不同数字。当然也可以通过scanner.useDelimiter(Pattern pattern)来设|不同的分割W,比如 scanner.useDelimiter(",*");
如果你感兴趣Q更多强大的功能可以参看jdk 5 的帮助文?/span>
本文 “ Xhinker ” 博客Q请务必保留此出?/span>http://xhinker.blog.51cto.com/640011/133575
]]> Eclipse 3.4使用摘录 http://www.tkk7.com/super2/archive/2009/07/10/286235.html淘声依旧 淘声依旧 Fri, 10 Jul 2009 05:38:00 GMT http://www.tkk7.com/super2/archive/2009/07/10/286235.html http://www.tkk7.com/super2/comments/286235.html http://www.tkk7.com/super2/archive/2009/07/10/286235.html#Feedback 0 http://www.tkk7.com/super2/comments/commentRss/286235.html http://www.tkk7.com/super2/services/trackbacks/286235.html
1. VE - 升地址Q?nbsp;http://update.soyatec.org/Ganymede/ve/1.4
参考页面:http://wiki.eclipse.org/VE/Installing#VE_1.4
2. UML2 ToolsQ?选择Help->Software Updates ->Available Software -> Ganymeda ->Models and Model Development下的EMF - Eclipse Modeling Framework Runtime and ToolsQGraphical Modeling Framework RuntimeQ?UML2 Diagram Search FeatureQ?UML2 SearchQ?UML2 Tools安装卛_?/p>
3. SubclipseQSub Version 工具Q升U地址Q?a style="text-decoration: none; color: #336699; ">http://subclipse.tigris.org/update_1.4.x
4. Spring IDEQ升U地址Q?a style="text-decoration: none; color: #336699; ">http://springide.org/updatesite/site.xmlQ但L意,安装时去掉Spring IDE Dependencies(Only for Eclipse 3.2.x)和Spring Mylyn Integration(Optional)选项?/p>
5. Hibernate ToolQ需安装JBoss ToolQ下载地址为:http://download.jboss.org/jbosstools/builds/nightly/200809111947-nightly/all/JBossTools-200809111947-nightly-ALL-win32.zip
6. Proedit -- 资源文g~辑工具Q升U地址Q?a style="text-decoration: none; color: #336699; ">http://propedit.sourceforge.jp/eclipse/updates/
转自Q?a style="text-decoration: none; color: #336699; ">http://blog.csdn.net/sunshinestation/archive/2008/09/12/2919567.aspx
在Eclipse 3.4上正安装Subersive(SVN)插g
Eclipse 3.4菜单->Help->Software Updates...->选择Available Software
点击“Add Sites...”按钮Q分别添加两个站点:
http://download.eclipse.org/technology/subversive/0.7/update-site/
?br />
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
然后N以下选项Q然后点?#8220;Install...”安装Q必成功Q?br />
http://download.eclipse.org/technology/subversive/0.7/update-site/
--Subversive Integration Plug-in's
--Subversive SVN Intergration for the Mylyn Project
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
--Subersive SVN Connectors
--JavaHL 1.5.0 Connector
--Native JavaHL 1.5 Win32
--Subversive SVN Connectors
--SVNKit 1.1.7 Implementation
转自Q?a style="text-decoration: none; color: #336699; ">http://xiaoluan.spaces.live.com/blog/cns!8F244FD8E9FE4639!307.entry
以前安装Eclipse插g无非两种方式, 直接copy插g到features/plugins目录或者在links目录下创建链接文? 刚刚发布的Eclipse 3.4又推出另一U新的安装途径, 更加灉|。Eclipse 3.4下有个dropins目录, 只要把插件放到该目录下就可以加蝲, 有几U格式可以选择?/p>
1. 最单的Q直接将jar包放到dropins目录:
eclipse/
dropins/
com.essiembre.eclipse.i18n.resourcebundle_0.7.7
2. 传统格式Q统一攑ֈ一个eclipse目录?
eclipse/
dropins/
eclipse/
features/
plugins/
3. 按照插g名称区分:
eclipse/
dropins/
resourcebundleeditor/
features/
plugins/
m2eclipse/
features/
plugins/
4. cMlinks方式d链接:
eclipse/
dropins/
xfire.link
如果只安装一个Eclipse的话采用W三U,否则采用W四U?/p>
如果发现安装了没有效果,可以删除eclipseȝ录下的\configuration\org.eclipse.update后,再执行eclipse -clean试试?/p>
转自Q?a style="text-decoration: none; color: #336699; ">http://blog.csdn.net/flying__snow/archive/2008/09/06/2890414.aspx
本文来自CSDN博客Q{载请标明出处Q?a style="text-decoration: none; color: #336699; ">http://blog.csdn.net/sabuhaha/archive/2009/01/05/3710085.aspx
]]> java囄处理 (文字水印、图片水印、羃放、补? http://www.tkk7.com/super2/archive/2009/07/10/286233.html淘声依旧 淘声依旧 Fri, 10 Jul 2009 05:31:00 GMT http://www.tkk7.com/super2/archive/2009/07/10/286233.html http://www.tkk7.com/super2/comments/286233.html http://www.tkk7.com/super2/archive/2009/07/10/286233.html#Feedback 1 http://www.tkk7.com/super2/comments/commentRss/286233.html http://www.tkk7.com/super2/services/trackbacks/286233.html 1 import java.awt.AlphaComposite;
2 import java.awt.Color;
3 import java.awt.Font;
4 import java.awt.Graphics2D;
5 import java.awt.Image;
6 import java.awt.geom.AffineTransform;
7 import java.awt.image.AffineTransformOp;
8 import java.awt.image.BufferedImage;
9 import java.io.File;
10 import java.io.IOException;
11
12 import javax.imageio.ImageIO;
13
14 /**
15 * @author Eric Xu
16 *
17 */
18 public final class ImageUtils {
19 /**
20 * 囄水印
21 * @param pressImg 水印囄
22 * @param targetImg 目标囄
23 * @param x 修正?nbsp;默认在中?br />
24 * @param y 修正?nbsp;默认在中?br />
25 * @param alpha 透明?br />
26 */
27 public final static void pressImage(String pressImg, String targetImg, int x, int y, float alpha) {
28 try {
29 File img = new File(targetImg);
30 Image src = ImageIO.read(img);
31 int wideth = src.getWidth( null );
32 int height = src.getHeight( null );
33 BufferedImage image = new BufferedImage(wideth, height, BufferedImage.TYPE_INT_RGB);
34 Graphics2D g = image.createGraphics();
35 g.drawImage(src, 0 , 0 , wideth, height, null );
36 // 水印文g
37 Image src_biao = ImageIO.read( new File(pressImg));
38 int wideth_biao = src_biao.getWidth( null );
39 int height_biao = src_biao.getHeight( null );
40 g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
41 g.drawImage(src_biao, (wideth - wideth_biao) / 2 , (height - height_biao) / 2 , wideth_biao, height_biao, null );
42 // 水印文gl束
43 g.dispose();
44 ImageIO.write((BufferedImage) image, " jpg " , img);
45 } catch (Exception e) {
46 e.printStackTrace();
47 }
48 }
49
50 /**
51 * 文字水印
52 * @param pressText 水印文字
53 * @param targetImg 目标囄
54 * @param fontName 字体名称
55 * @param fontStyle 字体样式
56 * @param color 字体颜色
57 * @param fontSize 字体大小
58 * @param x 修正?br />
59 * @param y 修正?br />
60 * @param alpha 透明?br />
61 */
62 public static void pressText(String pressText, String targetImg, String fontName, int fontStyle, Color color, int fontSize, int x, int y, float alpha) {
63 try {
64 File img = new File(targetImg);
65 Image src = ImageIO.read(img);
66 int width = src.getWidth( null );
67 int height = src.getHeight( null );
68 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
69 Graphics2D g = image.createGraphics();
70 g.drawImage(src, 0 , 0 , width, height, null );
71 g.setColor(color);
72 g.setFont( new Font(fontName, fontStyle, fontSize));
73 g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
74 g.drawString(pressText, (width - (getLength(pressText) * fontSize)) / 2 + x, (height - fontSize) / 2 + y);
75 g.dispose();
76 ImageIO.write((BufferedImage) image, " jpg " , img);
77 } catch (Exception e) {
78 e.printStackTrace();
79 }
80 }
81
82 /**
83 * ~放
84 * @param filePath 囄路径
85 * @param height 高度
86 * @param width 宽度
87 * @param bb 比例不对时是否需要补?br />
88 */
89 public static void resize(String filePath, int height, int width, boolean bb) {
90 try {
91 double ratio = 0.0 ; // ~放比例
92 File f = new File(filePath);
93 BufferedImage bi = ImageIO.read(f);
94 Image itemp = bi.getScaledInstance(width, height, bi.SCALE_SMOOTH);
95 // 计算比例
96 if ((bi.getHeight() > height) || (bi.getWidth() > width)) {
97 if (bi.getHeight() > bi.getWidth()) {
98 ratio = ( new Integer(height)).doubleValue() / bi.getHeight();
99 } else {
100 ratio = ( new Integer(width)).doubleValue() / bi.getWidth();
101 }
102 AffineTransformOp op = new AffineTransformOp(AffineTransform.getScaleInstance(ratio, ratio), null );
103 itemp = op.filter(bi, null );
104 }
105 if (bb) {
106 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
107 Graphics2D g = image.createGraphics();
108 g.setColor(Color.white);
109 g.fillRect( 0 , 0 , width, height);
110 if (width == itemp.getWidth( null ))
111 g.drawImage(itemp, 0 , (height - itemp.getHeight( null )) / 2 , itemp.getWidth( null ), itemp.getHeight( null ), Color.white, null );
112 else
113 g.drawImage(itemp, (width - itemp.getWidth( null )) / 2 , 0 , itemp.getWidth( null ), itemp.getHeight( null ), Color.white, null );
114 g.dispose();
115 itemp = image;
116 }
117 ImageIO.write((BufferedImage) itemp, " jpg " , f);
118 } catch (IOException e) {
119 e.printStackTrace();
120 }
121 }
122
123 public static void main(String[] args) throws IOException {
124 pressImage( " G:\\imgtest\\sy.jpg " , " G:\\imgtest\\test1.jpg " , 0 , 0 , 0.5f );
125 pressText( " 我是文字水印 " , " G:\\imgtest\\test1.jpg " , " 黑体 " , 36 , Color.white, 80 , 0 , 0 , 0.3f );
126 resize( " G:\\imgtest\\test1.jpg " , 500 , 500 , true );
127 }
128
129 public static int getLength(String text) {
130 int length = 0 ;
131 for ( int i = 0 ; i < text.length(); i ++ ) {
132 if ( new String(text.charAt(i) + "" ).getBytes().length > 1 ) {
133 length += 2 ;
134 } else {
135 length += 1 ;
136 }
137 }
138 return length / 2 ;
139 }
140 }
141
getLength q个Ҏ用来得到文字的长?全角一个字 半角半个字 但是感觉q种Ҏ不太?不知道有没有更好地方法~
博文来源Q?a style="text-decoration: none; color: #006bad; ">http://www.javaeye.com/topic/309457
]]>Java目的工?/title> http://www.tkk7.com/super2/archive/2009/04/25/267496.html淘声依旧 淘声依旧 Sat, 25 Apr 2009 08:28:00 GMT http://www.tkk7.com/super2/archive/2009/04/25/267496.html http://www.tkk7.com/super2/comments/267496.html http://www.tkk7.com/super2/archive/2009/04/25/267496.html#Feedback 0 http://www.tkk7.com/super2/comments/commentRss/267496.html http://www.tkk7.com/super2/services/trackbacks/267496.html 本文转自 http://www.suneca.com
一直想写一这Lȝ性文章,但不是没有时间就是没有勇气写下去Q因为怕别Z臭鸡蛋。这两天有时_l于鼓v勇气Q将q篇文章写来下!也希望对一些正在寻找更好发展的朋友能有点帮助,也希望对于一些技术跟理斚w的牛人,能给予一些徏议?br />
作ؓ一名项目经理、系l架构师或技术骨qԌ其水q_何,关系到公司的目理、Y件质量管理等斚w的问题。项目经理或技术骨q应该要起带头作用,使整个团队的开发及理能达CU更高的水^?br />
?
作ؓ一名项目经理或公司技术骨q应该学会那些工具及知识点呢Q涉及到q一块的工具及技术点非常多,如何去选择Q是摆在目l理、系l架构师跟技术骨q面?
的问题。根据公司及团队的情况,选择合适的工具或技术框Ӟq一炚w帔R要。在目的不同阶D,需要有不同的工h支持?br />
按照软gpȝ的生命周期的六个阶段Q一般分为需求分析阶Dc系l设计阶Dc系l开发阶DcY件测试阶Dc系l发布阶Dc系l维护阶D,q几个阶D都需要有不同工具的支持?br />
一、需求分析阶D:
W一、项目管理及需求管理工?/strong>
?
目管理工具很多公叔R在用,Z么要使用q些工具Q假如没有用这些工P而是使用Excel或Wordq行记录Q那当需求变_需求实现情늚跟踪Q?
软g是否能按时交付?是一仉常烦锁且Ҏ出错的事情。一个Y仉目、开发团队能否获得成功,理非常关键。比较有名的商业化工hQ?strong>MicroSoft Project Server ?strong>Project 2003?strong>IBM Rational RequisitePro?strong>JIRA?strong>PowerDesinger。比较有名的开源需求管理工具包括:OSRMT(Open Source Requirements Management Tools) ?strong>Xplanner?strong>Openworkbench{等?br />
很多软g公司都会使用SharePoint Q在SharePoint q_上,只要你想得到Q基本上都可以通过配置方式来满你的业务需求。在SharePoint 上,可以?strong>MicroSoft Project Server很好的结合,再配|?strong>Project 2003为客LQ进行公司的目理。也许对Project 操作习惯的问题,在Web界面q行目理的时候,总觉得很不方ѝ?br />
IBM Rational RequisitePro Q?a target="_blank" rel="external">http://www.ibm.com Q可以算是最骨灰U的一个Y件了Q假如你公司整个软g生命周期理都是采用IBM的解x案,那?strong>RequisitePro是一个非常好的解x案。需要这些Y件可以到IBM 官方|站上去下蝲一个最新版本,或者在电驴上面下蝲一?#8220;特别”版本。设计工兗管理工L完美l合Q这个正?strong>IBM Rational RequisitePro的强V?strong>RequisitePro?strong>Offcel合得也是非常完?br />
JIRA Q?a target="_blank" rel="external">http://www.atlassian.com Q原来只是一个缺陯t系l,你可以在JIRA上面创徏新的ISSUE Q当ISSUE 分配l某个程序员Ӟpȝ会自动发送一邮件给该程序员Q提C有新的BUG?strong>JIRA也有提供一?strong>Eclipse插gQ你可以在Eclipse上面Q查到属于自qISSUEQƈ快速解冟뀂现?strong>JIRA也可以用来做目理Q在操作斚w非常人性化Q个Z直非常喜Ƣ用JIRA来进行项目管理、缺L理,再结合EclipseQ简直就是完!但作为商业的软gQhg非常贵,互联|上也有很多CrackQ大家有兴趣也可以搜一下?br />
OSRMT Q?a target="_blank" rel="external">http://sourceforge.net/projects/osrmt Q是一个开源的需求管理工P分ؓ客户端跟服务器,也提供了一个安装界面供用户安装Q做开源的已经是做得非常完美了。当前最新版本是V1.5Q有兴趣的朋友可以下载一个最新版本玩一下,操作q算是挺人性化的?
Xplanner Q?a target="_blank" rel="external">http://www.xplanner.org Q是一个开源的Q基于XP~程的项目管理YӞ它可以帮我们生成一些统计图表。这个Y件从06q底发布0.7b7版后Q就再也没有更新q了Q我对开源工L看法是Q版本号没有过1.0版,我都不会应用于生产!对于XplannerQ也是停留在试用的阶Dc?br />
Openworkbench Q?a target="_blank" rel="external">http://www.openworkbench.org
Q?也是一个开源的目理软gQ其功能跟Project
2003怼Q是一个值得大家M用的一个工P但对于中国很多Y件公司,都是使用特别版的Project
2003。假如你很尊重版权,又不想用Project 2003Q那Openworkbench是一个非常好的选择?br />
W二、需求分析工?/strong>
需求分析工L得比较多可能是Rational Rose ?strong>MicroSoft Visio ?strong>MindManagerQ一般我们?strong>Rational Rose来进行用例分析,ȝ例图Q画状态图Q用MicroSoft Visio来画出应用系l的l构图、流E图{。当Ӟ对于MicroSoft Visio能画出来的东西,其实Rose 也一样可以实玎ͼ只是Q大安是这么干Q我们也没有必要专门d一些特例的东西Q特别是对于一些比较特D的公司及行业?br />
Ration Rose 2003 ?
一个值得怀늚工具Q至今还是有很多公司跟个人都是用,个h觉得q个软g版本是最l典的一个,但对于现在所见即所得的要求下,使用Rose
2003Q可能没有办法满你Q因为它需要经q一些小操作才能满你的要求。但不可否认Q它是一个非怼U的Y件。现在对于一些喜Ƣ用新工具新技术的E?
序员Q也许现在他们正在用RSA?br />
MicroSoft Visio Q?a target="_blank" rel="external">http://www.microsoft.com Q是每个搞设计的人都会用的一个工P我们一般用Visio来画pȝl构图、关键流E图、系l部|结构图{。MicroSoft Visio也提供了UML的功能,可以用它来画用例图、类图、状态图Q时序图{,但一般这个功能很用。至我基本上不用?br />
MindManager Q?a target="_blank" rel="external">http://www.mindjet.com
Q?
是一个非常好用的工具Q我们用来描q我们的思维Q很多h都不喜欢通过软g来描qͼ而是通过一张纸Q然后在上面q行涂鸦Q接着跟客h团队q行思维沟通?
MindManager很好地解决了q个问题。MindManager跟Officel合得非常完,可以生成Word、Excel、PDF{文件。这?
工具是我一直在使用的一个YӞ非常好用。最新版本ؓ7Q大家有兴趣可以下蝲一个试用一下,也可以在|搜搜烦一?#8220;特别”版本?br />
二、系l设计阶D:
W一、系l设计工?/strong>
?的pȝ设计工具有大安常熟悉的Rose2003Q不q,现在已经不叫Rose了,现在IBM最新的设计工具是RSAQRation
Software ArchitectQ,Borland TogetherQSyBase PowerDesingerQMicroSoft
VisioQ对于开源的pȝ设计工具也有很多Q比如ArgoUML、DBDesigner{等?br />
RSA Q?a target="_blank" rel="external">http://www.ibm.com
Q:IBM
最新的设计工具Q它是一个基于Eclipseq_的一个工P对于你用RSAQ那也许你会你的整个团队的工具都采用IBM的整套解x案,使用
RequisitePro来进行需求管理、用RSA来进行徏模、用ClearCase来进行配|管理、用ClearQuest来进行缺陯t、?
RFT(Rational Functional
Tester)来进行测?#8230;…RSA有一个最大的优点Q那是跟Wordl合得非常好。这一点可以肯定?br />
Together Q?a target="_blank" rel="external">http://www.borland.com
Q:Borland 公司的NB的设计工PTogether
2006版本也是一个基于Eclipseq_的YӞ功能也是非常强大Q其所见所得的功能Q是我非常喜Ƣ它的一个原因。还有一个原因就是基?
Eclipseq_Q这个可以跟我的开发工具很完美地整合在一赗不q,整合要注意一个问题,那就是Eclipse兼容性问题,q一Ҏ非常烦h的?br />
PowerDesigner Q?a target="_blank" rel="external">http://www.sybase.com
Q:
PowerDesigner?#8220;一站式”建模与设计解x案,物理数据模型的数据库q_无关性,所见即所得,反向工程Q报表生成等{功能,使得它成为数?
库设计h员心目中最好的产品Q它的易用性深深地吸引了我Q特别它的Repository模型库的功能Q更让我们实C模型设计的版本控制。最新的
PowerDesignerQ得我觉得它是一件艺术品。做设计的h员一般会使用PowerDesigner来进行数据库物理模型设计Q它是我心目中的?
选工兗之前曾l对比过RSA、Together、ERWin的数据库模型讄工具Q最l我q是更加喜欢使用PowerDesignerQ也许,我的操作
习惯已经被PowerDesigner腐蚀?br />
W二、开发的技术框?/strong>
技术框架的选择是非常关键,一个好的技术框Ӟ可以让我们的开发更加快速、团队的分工更加合理、系l能够支持多U数据库q_、我们的l护更加方便?br />
Web前端MVC框架?strong>Struts 2 。Struts 2可以说是StrutsI上了WebWork的外衣,其内核大部分都是采用了WebWork的技术,q且ZAOP的设计思想Q让我们在Y件设计上的能够更加多C?#8220;高内聚,低耦合”的设计思想?br />
J2EE框架?strong>Spring Q作Z个开源的J2EE框架Q虽然它没有太多的新技术点Q但它的整合性,拿得我们的开发更加简单,IOC、AOP、事务处理、开源框架的整合支持{等Q得作Z个J2EE框架的首选?br />
持久层框架是Hibernate Q?
作ؓ一个开源的目Q我惻I没有一个开源项目的C能够你Hibernate一P丰富的文档,z跃的社区,ZHibernate的开发团队的庞大Q
得它作ؓ持久层框架的首先。基?
HibernateQ我们可以开发出数据库^台无x的产品。但是,Hibernate也有自n的问题,假如使用不当Q也怼有所失控Q一旦失控,它所?
来的Q就是性能问题。对于最新的Hibernate3Q存储过E的支持Q外部SQL的定Ӟ很好地解决了q个问题。但在关联关pMQ用还是要心为好?br />
面框架Q可以多考虑使用DIV技术、JSTL标签库、Struts 2标签库、DWR、AJAX、XML+XSLT{技术来让我们页面更好维护,使用OSCache~存技术来提高我们面的访问速度?br />
W三、开发规范的定制
文g命名规范、数据库设计规范、编码规范、团队协作规定等{一些规范性的东西Q需要在pȝ开发前p定好Qƈ且做相应的培训。QA也要做好监督的作用,定期做评审工作,对已发生的问题及可能出现的问题,及早发现Q及早处理?br />
W四、开发工L选择
?队一定要选择同样的开发工P开发工L同,软g版本相同。ؓ什么要q样子做Q其实假如你作ؓ一个Team
LeaderQ你会在理你的团队的时候发现很多问题,而解册个问题,那在目~码前,把什么东襉K规定好,以免其中发生问题Q媄响整个团队的开发?
度。开发工L选择也是非常重要的,目前企业用得比较多的开发工hQEclipse、Jbuilder、NetBeans、IDEA?br />
Jbuilder Q?
最新的Jbuilder版本?007Q?007版基本上可以是重新开发的版本Q因为它是基于Eclipse之上的。我是Borland公司最为忠?
的Fans啦,从Jbuilder6Q到Jbuilder7Q再到Jbuilder8Q再到Jbuilder9、Jbuilder
XQJbuilder 2005QJbuilder
2006Q我l常跟我学生_对于JbuilderQ相信没有h比我更熟悉他了,做Java开发接q?q时_过4q的旉Q每天都都在使用的工
PJbuilder见证了我的长成。用过Jbuilder的h很多人知道一点,是Jbuilder的盗版问题,安装完Jbuilder之后Q假如你
一个不心Q没有安装防火墙Q那Jbuilder会不旉过8888端口向Borland总部发送一些你的计机信息Q这个是一U非常可怕的“木马”Q什
么是“木马”Q这个就是!q种情况自从Jbuilder
X以后׃直有。假如你不怕Borland公司的h跟工商局q来查你公司的Y件的话,那选择Jbuilder是一个不错的选择。作为Java
IDE开发^台的老大QJbuilder在企业应用开发是非常有优势的Q特别是开发EJB跟WebServiceQ偶只能用一个句来Ş容,那就是牛?
Jbuilder
2007Q王者归来,怿对于很多Borland的FansQ还是非常喜Ƣƈ乐意d试的Q不q,hq是会让很多公司都受不了、速度会让很多E序员也?
不了。我的Jbuilder的缘分到2006基本上已经l束了。现在我的开发环境基本上都是Eclipse?br />
Eclipse QIBM捐出来的好东西,发展挺快的,现在已经CEclipse3.3Q非常好用的一个工兗但Eclipse只是一个基q_Q假如你需要其他的功能Q那你需要下载相关的插gq行扩展Q下载的插g要注意一下跟Eclipseq_的兼Ҏ问题?strong>Eclipse+MyEclipseQ?a target="_blank" rel="external">http://www.myeclipseide.com Q是个是很多WEB开发h员都是在采用的一个整合工P但MyEclipse要钱Q如果公司愿意ؓ此支?9.9元的话Q那它是一个非常好的选择Q比MyEclipse更上一个档ơ的q有Exadel Q?a target="_blank" rel="external">http://www.exadel.com/web/portal/home Q,不过QhD得离谱,因ؓ它本w就是一家咨询服务公司做出来Q主要还是靠咨询服务Q培训挣钱,q且Q运行时的不E_Q也让我攑ּ了选择q个插g作ؓ我的开发工P虽然q个工具真的是很强大?strong>Eclipse+WTPQ?a target="_blank" rel="external">http://www.eclipse.org Q也是一个非常好的免费的开发工P从eclipse官方|站上可以下载WTP跟Eclipse整合在一L工具Q现在教学基本上用这个?strong>LombozQ?a target="_blank" rel="external">http://lomboz.objectweb.org/
Q?
也是一个非常好用的免费J2EE插gQ学生用的很多,因ؓ好像有不书都是用这个进行教学的。通过插g来的扩展本来是一件好事,但当它的版本问题Q兼Ҏ?
问题Q安全性问题?语言问题Q出现的时候,你就会骂着Qؓ什么不提供一站式开发^台呢Q如果你下蝲了语a包,你会发现Q有些地Ҏ中文的,有些地方是英?
的,极其丑陋Q也许,Eclipse作ؓ一个基q_Q它实是太基础了。但现在Q我们也可以下蝲一些All-In-One版本的EclipseQ但个h
感觉q是不够Q很多功能,我们q需要去找插件来q行扩展。也许,Eclipse的决{者认为,作ؓ基础q_Q肯定是简单越好,需要什么就加什么,q样Q?
资源占用会更。正如东Ҏ准最咨深的^面老师曑֮飞讲q一句话Q你会去麦当劳点酸菜鱼吃吗?
NetBeans Q?
作ؓSun公司出品的开发工P功能一样也是非常强大,不管你是做应用程序开发还是做应用pȝ开发,NetBeans都是一个不错的选择?
NetBeans也跟Eclispe一P也是一个基q_Q但q个基础q_做得比Eclipse强大很多Q基本上你下载一个NetBeans可以开?
应用E序或J2EE应用pȝ了。ƈ且,NetBeans的中文支持非常好Q基本上一个新版本出来Q就已经有中文版、英文版跟日语版了。看
来,NetBeans的决{者还是比较看好这些h的。NetBeans的Mobile插g开发J2ME是最快最好用的,臛_我个么认为。开?
J2ME应用产品Q我首选的是NetBeans。目前NetBeans已经发展?.0的版本了Q界面非常华丽,有兴的朋友可以下蝲一个玩一下?
NetBeans的下载地址是:http://www.netbeans.org ?br />
IDEA Q?
对于IDEA的评P我只能用六个字来形容Q那是Q实用的艺术品。它非常好用Q界面非常华丽,相当如果你是一个女性的目l理或技术牛人,你会喜欢上这
件艺术器的。IDEA开发应用程序非常强大,q一点绝对可以肯定。官Ҏ供的插g也非怸富,当你需要那一斚w的功能,基本上都可以扑־刎ͼ找插Ӟ你只
需要在官方插g库里面去扑ְ可以了,q且自动安装Q自动更新。作?003q拿到JavaWorld大将的一个作品,怿Q它可以带来很多IDEA的创
新。它是属于商业化的工Ph也只?99元Q而个Z也就249元Q如果你愿意牺牲某些功能Q那你完全可以下载一个免费的版本。h格方面,个h?
得完全对得vqg艺术品h倹{有兴趣的话可以下蝲一个试用版玩一下:http://www.jetbrains.com/idea Q小声地_上一下baiduQ插件一下,其实你可以找到很多注册号?br />
Ant 是apache的一个开源项目,可以从Ant官方|站上下载一个最新的版本Q?a target="_blank" rel="external">http://ant.apache.com 。虽然该目虽然现在发展变得非常~慢Q但可以非常肯定地讲Q它是一个好东西。我们可以用ant来对我们整个工程q行~译Q打包,单元试Q部|等{,基本上你惛_到的东西QAnt可以帮你做得到。MavenQ?a target="_blank" rel="external">http://maven.apache.com
Q?
是一人比Antq要强大的工P现在大有Maven会代替Ant的趋势,Maven也是目l理要关注的一个技术点。基本上现在L的开发工具都提供?
了对Ant的支持,有些甚至是依赖,比如QNetBeansQ你在NetBeans当中创徏一个新的工E,那系l会自动地创Z个ant的运行脚本程序?
对于你进行编译、打包、发布,那完全都是依赖于q个ant脚本。我们可以用Ant来开发一个DailyBuildQ微软叫每日产品生成QXP叫持久集
成)的流E,来提高我们整个团队的软g开发质量。Ant的用非常简单,多看手册Q多q心思,那你会做得更好?br />
三、开发阶D?/strong>
W一、配|管理工?/strong>
代码理工具有很多,现在公司用得比较多的代码理工具?strong>CVS ?strong>VSS?strong>SVN?br />
?
于一个开发团队只?-5个hQƈ且这两三个h是同一间办公室里,那用VSS是一个非怸错的选择Q个得他团队的理斚w非常好用。个?
VSS唯一的缺点就是一个文件当被一个h锁定Q那其他人就没有办法q行修改了,当一个文件ؓ多个人所q且开发团队h数较多时Q这U问题将会显C非怸
重。VSS客户端跟服务器你都可以从Visio Studio里面扑ֈ?br />
Eclipse的VSS客户端插Ӟhttp://vssplugin.sourceforge.net/
对于一个开发团队有过5个hQ那此如选择CVS或SVN是一个更好的选择Qƈ且,假如你的团队是分散的Q可能不在一间办公室或者根本不在同一个城市,那用CVS或SVN是一个非常更想的选择。CVS的服务器一般是使用CVSNT或CVSServer?br />
CVSServer Q?br />
Linux for X86 Q?a target="_blank" rel="external">http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-linux/RPMS/i386/
Window for X86 Q?a target="_blank" rel="external">http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/
CVSNT Q?a target="_blank" rel="external">http://www.cvsnt.org/
CVSClient Q?br />
WinCVS Q?a target="_blank" rel="external">http://www.wincvs.org
TortoiseCVS Q?a target="_blank" rel="external">http://www.tortoisecvs.org/
JBuilder ?strong>Eclipse?strong>NetBeans?strong>IDEA集成的CVS客户?br />
?
为版本管理工PCVS出现至今Q已l有二十个年_可以说他已经走到了尽_但可以肯定,它将l箋存在着。SVN是作为CVS的代替品而出现的。现?
很多开源组l,都慢慢地转到SVN上,比如Apache跟SourceForge。SVN有着比CVS更强大的功能Q比如,它可记录目录的更改,它的性能
比CVS会快很多{等。目前SVN慢慢地被企业所接受Q但个h觉得其Eclipse的客L的稳定性还有待提高Q也许这个跟Eclipse的版本兼Ҏ有
一定关pR但q些不稳定性,让我现在对这个品的使用ql停留在试用的阶Dc?br />
SVNServer Q?a target="_blank" rel="external">http://subversion.tigris.org/
SVNClient Q?br />
TortoiseSVN Q?a target="_blank" rel="external">http://tortoisesvn.net/
Eclipse 插gQ?a target="_blank" rel="external">http://subclipse.tigris.org/
目前SVN插g支持包括Eclipse、Jdeveloper、NetBeans{开发工兗?br />
W二、知识库理工具
?
队每一个h在开发的时候都会发C些问题,最l,有些问题可能没有办法解决Q有些问题可以解冟뀂一般情况,大部分问题经q团队成员的共同努力Q都是可以解
决的Q那解决问题的方法,解决问题的步骤,q些都应该Ş成知识。作Z个团队的LeaderQ我们必重视这些知识,因ؓQ这些知识非常有用,它对于一?
新手或没有遇到此c问题的同事Q能够提供相应的帮助?br />
Confluence Q?a target="_blank" rel="external">http://www.atlassian.com/software/confluence
Q,跟JIRA来自同一家公司的产品Q它跟JIRA可以整合得非常好。我们可以通过JIRA的ISSUEQ将该ISSUE上升Z个知识。假如你是?
JIRA来进行项目管理跟~陷理Q那使用Confluence是一个最佳选择?br />
PHPBB Q?a target="_blank" rel="external">http://www.phpbb.com
Q,
论坛其实也是一个非常好的知识库理工具Q当某一个工E师遇到一些疑难杂症的时候,最l,通过自己的努力或团队其他同事的努力,l于解决问题了。那作ؓ
Leader的你Q应该鼓׃们将q些知识Q写一些文章,然后发布在公司自qBBS上。供大家参考及讨论。这个是一U很好的Ҏ。记得我以前Q我在网?
看到一些有用的信息Q我把它保存在我本机的PHPBB上。只可怜,后来电脑被h偷了。贼郁闷?br />
四、Y件测试阶D?/strong>
W一、缺L理工?/strong>
?
件你不能保证它永q不会错Q只是,有些错误你暂时还没有发现而已Q有些错误需要在某些特定的环境下它才会发生。就像WindowsQ时不时会有一些系l更
新文件要求更新。可能这些更C是错误,只是一些系l安全方面的隐患。这些都可以是软gpȝ的缺陗那q些~陷我们应该怎么q行理Q怎么q行跟踪呢?
现在~陷理用得比较多的有两个:W一个是开源的bugzillaQ另一个是商业的JIRA?br />
Bugzilla Q?a target="_blank" rel="external">http://www.bugzilla.org
Q,
作ؓ开源界~陷理pȝ的E,它发展到现在已从98q到现在l有10的时间了。它的开发语a是PerlQ这使得它的安装变得很麻烦,Bugzilla?
以安装在Windows、Linux、Unix{操作系l上。现在的Eclipse也提供了对它的支持,我们可以在Eclispeq_上,扑ֈ应用pȝ?
BUGQ功能做得非常强大。如果安装能更加L一点,或者提供一个All-In-One版本Q那会更好!
JIRA Q作为商Z化的~陷理pȝQJIRA的h格对得v它的功能。JIRA不只是一个缺L理系l,它更是一个集目理、缺L理、统计分析ؓ一w的工具。这个工h一直在使用Q只是用一?#8220;特别”版本而已?br />
W二、Y件性能监测工具
Jprofiler Q?a target="_blank" rel="external">http://www.ej-technologies.com Q是一个非常好的性能监测工具Q用这个工P你可以快速发现系l那些模块出现性能瓉或算法导致的性能问题Q它q可以分析内存泄漏的问题。这个工具也提供了相应的Eclipse插gQ让你开发更加快速方ѝ它支持L的服务器?br />
Borland Optimizeit Suite Q?a target="_blank" rel="external">http://www.borland.com Q也是一个非常好的性能监测工具Q它跟Borland产品整合得非常好。不q,q行q个工具Q你最好准备一下,最好有2G内存Q否则,本来pȝ好好的,一q行hQ你机器反而死掉了?br />
W三、Y件性能试工具
Ant+Windows计划d 创徏公司的DailyBuild自动化测试流E,q个是以前做的一个测试流E。用这U测试流E,无非一个目的,是提高公司的Y件质量?br />
Jmeter Q?a target="_blank" rel="external">http://jakarta.apache.org/jmeter Q,q个工具是apache出品的,作ؓapache忠实的FansQ我对Jmeter也是很喜Ƣ,使用JmeterQ你可以怼多用L境,对应用系l进行测试,试整个应用pȝ能够承受的最大ƈ发量?br />
LoadRunner Q?a target="_blank" rel="external">http://www.hp.com Q,假如你不知道q个软gQ那你肯定做不了试工程师,q个是最专业的一个Y件性能试工具Q它可以模似上千万个用户量来q行压力试Q检系l能够承受的最大ƈ发量。这个Y件我只用q几ơ,~写脚本Q进行测试,使用来讲其实是比较单?br />
五、Y件发?/strong>
?
件的发布我们会怎么d呢?我们一般做法就是,数据库脚本化,包括语句、初始化数据{,q有制作WAR文g或EAR文g。然后到客户那边Q我们需?
数据库表及数据q行初始化,接着Q将WAR或EAR文g发布到应用服务器上。这个也许是我们到客L在发布经常在做的一件事情。那能不能做得更加简?
呢?做法一般有两个Q第一个就是用AntQ编写一个初始化数据库跟发布应用E序模块的Ant脚本Q然后到生Z直接q行该脚本即可;W二个就是制作安
装文Ӟ一般用来制作安装文件的有IzPackQ这个是用得最多的一个免费工P你可以用这个免费工h制作安装E序。也许客户都习惯了安装程序的安装
方式了,制作一个可执的安装E序Q有助于提高软g产品化的档次?br />
六、Y件维护阶D?/strong>
W一、客户CASE跟踪理工具
?
户CASE跟踪pȝ怿很多做CISCO公司金牌代理的h都会用过。我们必d公司内部建立相应的CASE跟踪制度。当用户使用pȝ的时候,发现一些问
题,那我们需要对q些问题q行录入q进行跟t。像客户呼叫服务pȝ{等一些商业化的Y件外面还是很多的Q这些系l其实公司自己开发一个也是很快的。但必须
要有。这个也是提高整个公司整体服务Ş象的一U态度?img src ="http://www.tkk7.com/super2/aggbug/267496.html" width = "1" height = "1" /> ]]> 犹太?-伊斯兰教--正统基督?/title> http://www.tkk7.com/super2/archive/2009/04/18/266298.html淘声依旧 淘声依旧 Sat, 18 Apr 2009 07:06:00 GMT http://www.tkk7.com/super2/archive/2009/04/18/266298.html http://www.tkk7.com/super2/comments/266298.html http://www.tkk7.com/super2/archive/2009/04/18/266298.html#Feedback 0 http://www.tkk7.com/super2/comments/commentRss/266298.html http://www.tkk7.com/super2/services/trackbacks/266298.html 原文来自If programming languages were religionsQ很有意思,可以从宗教的角度来看看各U常见语a的特炏V(q里丝毫没有要找Z同语a优劣的意思,每个人都有信仰自由)
C ?a target="_blank">犹太?/a>——很古老而且戒律很多Q但大多Ch都熟悉ƈ重其戒律。问题是很难皈依它,你要么开始就信Ԓ它,要么会认为它直太疯狂了。而且Q一旦事情出了差错,Z׃怪罪于它?strong>
Java?a target="_blank">正统基督?/a>——理Z来说它基于CQ但它去掉了很多老的戒律Q以至于跟原教旨已经大相径庭。另外,它新加了一套严格的教义Q追随者们怿q些比原来的教义更ؓ重要。他们认是世界上最好的语言Q而且会将所有的异端烧死在刑׃?
PHP 是Cafeteria基督教——与Java在Web开发领域进行竞争。它引入了C和Java的一些概念,但只限于它所喜欢的。也许它不像其它语言那样条理清楚Q但臛_l你了更多自由,看v来还一个整体。而且不会有下地狱Qgoto hellQ这L说法?/p>
C++ ?a target="_blank">伊斯兰教——来源于CQ不仅保持了后者的戒律Q还变本加厉加入了一套新的复杂戒律。它是如此地多才多艺Q可用于构徏M事物Q从弥天大罪到美丽的艺术品,q随者们怿它才是终极语aQƈ会被持不同意见的人激怒。更可怕的是,如果你冒犯了它或者是它的创始人,你的生命都会受到威胁?/p>
C# ?a target="_blank">摩门?/a>——乍看之下,它跟Java一P不过仔细一看就会发现它被单一l织所控制Q很多Java的追随者将其视为恶)Q而且很多概念都不相同。你在暗忖,它也怸错吧Q呃。。。希望你不会被Java的追随者们歧视?/p>
Lisp ?a target="_blank">佛教——没有语法,没有核心教义Q也没有让h膜拜的神。就看你的造化了——需要你有够的悟性。有它压根儿׃是一门语aQ有的h却认为它是唯一有意义的语言?/p>
Haskell ?a target="_blank">道教——与其它语言差别太大Q以至于很多人怀疑它到底能做什么。其q随者相信它才是通往智慧的正道,只是q些智慧为大多数世俗之h力所不及?/p>
Erlang ?a target="_blank">印度?/a>——又一U奇怪的语言Q看h没什么用处,但不像大多数其它的现代语aQ它建立?#8220;同步之神”的基上?/p>
Perl ?a target="_blank">巫毒?/a>——一套神U的、难以理解的咒语Q会让你的灵永久地堕落。老板在周五晚上九点吩咐你一紧急Q务,q时得靠它了。(惌v兽族部落的巫毒商店,而且它与萨满教有些类|
Lua 是巫术——一U泛论的语aQ容易与不同文化和地区相融合。它的代码非常自由,其中的一些技术在传统语言的用L来是不可思议的。它与月亮有紧密的联pR?/p>
Ruby ?a target="_blank">新异教主?/a>——不同语a和理늚混合体,可以被看作是一U语a。其支持者群体成长迅速,管很多人面带疑色地看着他们Q但基本上他们还是善良的Q无意于伤害他h?/p>
Python ?a target="_blank">人文M——简单、自由,它只需要你具备常识。很多追随者声UͼPython帮助他们怸了其它语a带来的担子,从而再ơ找到编E的乐趣。有些hq说它就是一U伪代码?/p>
COBOL 是古异教M——很久以前,它曾l统ȝ大片地区Q现在却差不多死掉了。尽很多h都在其神的A式中留下了伤疤,直到今天仍然有hq随着它?/p>
APL ?a target="_blank">p基教——尽有很多人声U要q随它,但你M怀疑它是一个大大的恶作剧?/p>
LOLCODE 是阿里乌斯教——它很神U,产生于互联网Q尽有人在努力地开发和散布Q但没h会对它当真?/p>
Visual Basic ?a target="_blank">撒旦?/a>——可惜你q不是真的需要将灵魂出卖。。?/p>
]]> lucene中我的错?/title> http://www.tkk7.com/super2/archive/2009/04/14/265575.html淘声依旧 淘声依旧 Tue, 14 Apr 2009 09:53:00 GMT http://www.tkk7.com/super2/archive/2009/04/14/265575.html http://www.tkk7.com/super2/comments/265575.html http://www.tkk7.com/super2/archive/2009/04/14/265575.html#Feedback 0 http://www.tkk7.com/super2/comments/commentRss/265575.html http://www.tkk7.com/super2/services/trackbacks/265575.html ]]> FreeMarker常用内容 http://www.tkk7.com/super2/archive/2009/03/13/259572.html淘声依旧 淘声依旧 Fri, 13 Mar 2009 08:56:00 GMT http://www.tkk7.com/super2/archive/2009/03/13/259572.html http://www.tkk7.com/super2/comments/259572.html http://www.tkk7.com/super2/archive/2009/03/13/259572.html#Feedback 0 http://www.tkk7.com/super2/comments/commentRss/259572.html http://www.tkk7.com/super2/services/trackbacks/259572.html
?lt;#if test??></#if>可以防止报错Q不能写test==nullq是不对的,q可以test?existsq样写?br />
学学模板Qcommon.ftl
< #macro html title >
< html >
< head >
< title > ${title?html} </ title >
</ head >
< body >
< #nested />
</ body >
</ html >
</ #macro >
使用面:test.ftl
< #import "common.ftl" as tl >
< @tl .html title ="标题" >
q里写body的内?br />
</ @tl.html >
]]> 关于freemark http://www.tkk7.com/super2/archive/2009/03/04/257819.html淘声依旧 淘声依旧 Wed, 04 Mar 2009 08:15:00 GMT http://www.tkk7.com/super2/archive/2009/03/04/257819.html http://www.tkk7.com/super2/comments/257819.html http://www.tkk7.com/super2/archive/2009/03/04/257819.html#Feedback 0 http://www.tkk7.com/super2/comments/commentRss/257819.html http://www.tkk7.com/super2/services/trackbacks/257819.html FreeMarker 是Quake Wang推荐我用的。刚?span class="hilite1" style="background-color: #ffff00;">FreeMarker的时候,发现freemarker 真的很棒Q简单易用,功能强大。但是用它做了几个项目以后开始不爽了?nbsp;
一宗罪Q?span class="hilite1" style="background-color: #ffff00;">freemarker的变量必L|没有被赋值的变量׃抛出异常Q那个黄黄的freemarker 出错面Q真是让人看了太难过了?nbsp;
freemarker ?
FAQ上面冠冕堂皇的说Q未赋值的变量强制抛错可以杜绝很多潜在的错误,如缺失潜在的变量命名Q或者其他变量错误。但是实际的效果是:带来的是非常大的~?
E麻烦,E序里面几乎所有可能出现空值的变量l统需要加?{xxx?if_exists}Q有些@环条件还需要写if判断Q这样不但没有杜l应该杜l的
错误Q反而极大增加了~程的麻烦?nbsp;
二宗|:freemarker 的map限定key必须是stringQ其他数据类型竟然无法操作!q一点就不讲了,JavaEye上面已经有h抱怨过了。连Webwork的开发h员Pat Lightboy都在抱怨这一炏V?nbsp;
三宗|:freemarker Z~程方便把不可序列化的东西往session里面放!
freemarker 支持在页面里面直接操作SessionQrequest{,例如${Session[...]}Q方便确实很方便Q但是一旦需要做集Q就会报错?nbsp;
今天是b051问v我这个问题,他在做Tomcat集的时候发?span class="hilite1" style="background-color: #ffff00;">freemarker报错QHttpSessionHashModel不可序列化。他修改该类源代码,让他实现序列化接口,仍然报错。我一看,HttpSessionHashModel包含的属性:
private HttpSession session;
private final ObjectWrapper wrapper;
private final FreemarkerServlet servlet;
private final HttpServletRequest request;
private final HttpServletResponse response;
L晕倒,q样的东西还往Session里面放?bad smellQ?nbsp;
严重警告应用需要往集上面发布应用的同学们Q千万别?span class="hilite1" style="background-color: #ffff00;">freemarkerQ?nbsp;
不过瑕不掩瑜Q?span class="hilite1" style="background-color: #ffff00;">freemarker也是有优点的Q?nbsp;
1、易学易?nbsp;
我是看了一天文档就用得挺熟l了Q?span class="hilite1" style="background-color: #ffff00;">freemarker文档写得太好了,例子丰富Q照做一遍全都会了?nbsp;
2、功能强?nbsp;
比Velocity强大多了Q还支持JSP Tag。不q最有意义的是macro功能Q可以自定义常用的macroQ实现页面常规操作的可复用性?nbsp;
3、报错信息友?nbsp;
很多应用服务器的JSP报错信息是无法定位到源代码行的。不q?span class="hilite1" style="background-color: #ffff00;">freemarker报错定位很准,丝毫不差Q而且信息丰富Q一看就知道怎么回事(虽然那个黄黄的页面看h让h隑֏) ]]>关于Ҏ重蝲 overloading ?Ҏ覆盖 overridden http://www.tkk7.com/super2/archive/2009/03/04/257817.html淘声依旧 淘声依旧 Wed, 04 Mar 2009 08:10:00 GMT http://www.tkk7.com/super2/archive/2009/03/04/257817.html http://www.tkk7.com/super2/comments/257817.html http://www.tkk7.com/super2/archive/2009/03/04/257817.html#Feedback 0 http://www.tkk7.com/super2/comments/commentRss/257817.html http://www.tkk7.com/super2/services/trackbacks/257817.html Ҏ重蝲 overloading 的要求:
一、方法必d?br />
二、参数必M同?参数不同包括参数cd不同Q参CC同,只要有一U不同就可以?br />
三、返回值可以相同或不同。在有多个同名方法的情况下,是根据参C同,选择那个Ҏ调用Q而不是返回?/p>
Ҏ覆盖 overridden 的要求:
1Q发生在父子cMQ?br />
2Q同名、同参、同q回?br />
3Q访问权限跟父类相同或更宽;不能比父cL闭Q?span style="color: #ff0000;">例如父类中有一?public void show(); 在子cM有一个方法覆盖:private void show(); ׃出错
4Q子cL法抛出异常的cd不能比父cL法更宽泛Q?span style="color: #ff0000;">例如父类中有一?public void show() throws IOException; 在子cM有一个方法覆盖:private void show() throws Exception; ׃出错
方法覆盖的W?Q条可以理解为儿子必L老子更开?/p>
W?Q条可以理解为儿子必L老子范的错误更小
q就叫进步啊
]]>自动讄JAVA环境变量的脚本{?JAVA中文世界---紫叶) http://www.tkk7.com/super2/archive/2009/03/04/257815.html淘声依旧 淘声依旧 Wed, 04 Mar 2009 08:06:00 GMT http://www.tkk7.com/super2/archive/2009/03/04/257815.html http://www.tkk7.com/super2/comments/257815.html http://www.tkk7.com/super2/archive/2009/03/04/257815.html#Feedback 0 http://www.tkk7.com/super2/comments/commentRss/257815.html http://www.tkk7.com/super2/services/trackbacks/257815.html 看到很多初学者反复问q个问题Q写了一个很单的一个脚本,用于自动讄环境变量。把代码拯Q另存ؓjavaEnv.bat。安装完Java 2 SDK之后Q开一个命令行H口,输入 javaEnv java2SDKDir (java2SDKDir是你的java的安装目录,不带路径最后的\。如果安装\径中有空|LjavaEnv "java2SDKDir"格式)q运行?/span>(注:一定要在javaEnv后边加上你的sdk的目录,setx的问题可以看 q里 )
@echo 你提供的jdk安装目录为:%1
@echo off
IF EXIST %1\bin\java.exe (
rem 如输入正的 Java2SDK 安装目录Q开始设|环境变?br />
@setx JAVA_HOME %1
@setx path %JAVA_HOME%\bin;%path%
@setx classpath %classpath%;.
@setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar
@setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar
@setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar
@echo on
@echo Java 2 SDK 环境参数讄完毕Q正帔R出?br />
) ELSE (
IF %1== "" (
rem 如没有提供安装目录,提示之后退?br />
@echo on
@echo 没有提供 Java2SDK 的安装目?不做M讄Q现在退出环境变量设|?br />
) ELSE (
rem 如果提供非空的安装目录但没有bin\java.exeQ则指定的目录ؓ错误的目?br />
@echo on
@echo 非法?Java2SDK 的安装目?不做M讄Q现在退出环境变量设|?br />
)
)
]]>
վ֩ģ壺
þƷ777С˵ |
ƵƵ |
ŷ뾫ƷVA |
س˵Ӱ |
ѸƵ |
ƷСƵapp |
Ůۺһ |
Ƶһ |
˾þۺ |
һõþۺ |
ƬaëƬ |
ƷƵ߹ۿ |
߿Ƭ˳Ƶ |
һػ¼Ƶ |
һѿ |
ɫAVպ߹ۿ |
ۺ |
þþAVҰ
|
ƷƵ |
þþƷƷް |
ɫɫwww˿ |
պƷרվ
|
ɫ͵͵͵ۺ |
Ļ |
Ʒ˾Ʒ |
18gay̨ͬͬ |
btձһ |
ëƬ߹ۿ |
ɫƵ |
Ƭ߹ۿ |
Ƶ߲ |
Ʒ˾þõӰ |
Ʒ˿߲ |
ƷͼƬ |
ձ˳Ļ |
ɫɫwww߲ |
ŷպ |
Ʒ99þþþþ |
㽶Ʒþ |
Ʒާѡ벥Ų |
ŮڰǿͼƬ |