a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 148|回复: 2

[其他] java新手必看:经验总结(1)

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
1:jdk开发中系统环境变量设置:
& w! B! Y" F. T. {& w方法如下:
. k3 M8 P  M4 ]4 nWin2000中:
% G; [3 ?* ]1 |右键我的电脑--》属性--》高级--》环境环境变量 . V8 b$ V" G* D3 s
classpath=.;jdk安装目\lib
  [1 u$ Y' A% c; c4 L0 K* [+ wpath=jdk安装目录\bin 8 x' v# }) j) ]+ O) P
注意:一定不可忽略"."。 5 C3 |1 c" O+ X. }. Y0 p  {6 _
Win98中: : R  Y$ H& G# ?" r% S3 J
修改autocexe.bat 就是修改自动批处理文件。 - h& H5 I3 {$ }! l' h
添加:
- E1 H1 i' O2 N8 ]  p6 Dset classpath=.;jdk安装目\lib
  d9 I3 [! H! P0 Wset path=jdk安装目录\bin;%path%
# p- b  T! ~. I7 p
! w2 F. @& ~; |2:(前提设置好了系统环境变量) # D3 m2 c: Z* k! r! J
不带包的编译,相当简单: 4 T# }3 u( Z5 L" x& m7 B; i( m
javac 类名.java
6 V+ @, ]! Q# D. |3 x& E6 c- {java 类名 ( x$ E3 t4 G# G  {; o9 q2 e/ ]+ I

' i5 V) e8 e2 D关于带包的编译问题: $ t! i/ V" z) D+ c3 u$ d
如果你的类是带包的,应该用如下方法编译:   H# q7 `" _2 d3 F, l6 P* P" }
javac -d 包的父目录 类名.java & n6 ~8 k% f+ q; f0 j& v, o
java 包名.类名
# m0 v9 A5 c( e3 \1 Q( F
7 m- x# c* Y9 L) P, j2 F  o3:Tomcat服务器配置:
) o) v# n# U' T* [& ^6 r1):设置好系统环境变量。   a- ^% W& K  Y
2):JAVA_HOME=G:\JBuilder6\jdk1.3.1
; [( b& U  u- q1 q- AG:\JBuilder6\jdk1.3.1为jdk安装目录 $ Y) V7 q9 ?# F, |
3):TOMCAT_HOME=tomcat安装目录 7 n  i$ w$ C4 L! R" m) }+ f
4:修改serlet而不重新启动tomcat / R$ h- A/ M7 `1 v
修改 ( _( Y! D3 L7 X8 L6 m# I
%TOMCAT_HOME%\conf\server.xml
1 [( U9 g( \+ Q" b大致如下:
1 f, E. K  J2 M# E( s6 ~ : s5 g0 F- B. B
其中reloadable就是配置是否自动reload的,把它设为true,如果没有这一项,加上。 % P: ?0 ], R% X" u& [& \$ z
5:修改webshpere中的servlet而不重新启动服务: + I7 p! U- T6 f5 F
修改..\WEB-INF下面的web.xml:
" Q! B8 [4 r) `4 i& C6 Q2 v加入其中reloadInterval="3" reloadingEnabled="true" fileServingEnabled="true" directoryBrowsingEnabled="true" serveServletsByClassnameEnabled="true"是主要的,reloadInterval="3" reloadingEnabled="true" 是说修改后3秒自动重新载 : Y4 j, x: G: h3 @
入。 7 I6 e: t! \1 m& U( e# A
6:配置jbuilder6+webshpere4.0AE,其实jb7可以参照: 3 A% N) I2 ?  ]) A# S2 F
首先安装j2ee,然后把j2ee加入到jb的libraries里面。方法如下 % U- ^, T) W+ ?2 m1 l
1:)tools--->configure libraries-->new--->name:里面填写j2ee,Location:里面默认的旧可以了。---->add-->选在j2ee安装路径,选中lib文件夹--ok--oK. 9 h: k6 H' L6 E" h
  2:)返回到configure libraries也面后,选中Required Libraries-->add--》选中你刚才创建的j2ee,点ok就可以了。
  \! g, k; x' q9 }. Q+ I- r然后配置webshpere应用服务器和database pilot:
  H  s! N& p: k( ^第一步:tools-->enterprise setup-->Application servers设置安装路径以及IBM的JAVA路径,DB2你自己看着办
1 f4 I  m) ]% C% j+ ]8 z/ M+ u第二步:project-->Defaults project properties里servers选择Ws4.0,应该可以用了
3 M; n* \+ z: S8 c8 G  x$ Gwebshpere4.0不支持ejb2.0,webshpere5.0支持。 6 o, I8 c! u+ w# B7 W) E
配置database pilot # }* u3 Y7 }( K$ z2 T
第一步:添加类库tools-->config libraries添加你的数据库驱动程序类
7 X  ^8 z- T2 D第二步:tools-->enterprise setup-->Database Drivers里面添加你刚添加的那个类库
' w# S- {" ?4 v0 w# J第三步:重启JBilder后,tools-->database pilot-->option-->drivers,添加驱动程序 2 w: j: I. w5 g! i
第四步:在database pilot点新建就可以了,driver:COM.ibm.db2.jdbc.app.DB2Driver。url:jdbc:db2:db_sdbc.(db_sdbc为服务器上的db2数据库).
! V' m0 D. Y% b, n5 a* U7 t  r. Z2 O/ ~' F' j
8 l8 w7 ~/ [+ j2 N) w
7:解决java中文问题:
$ R( W7 g3 T& w针对applet和awt:
; K' p$ P) C& ]9 _1:)
% y; l6 l) R5 S; n. O" W3 WFont f = new Font(UIResource.getString( "Default_font"),Font.PLAIN,12); ' |9 Z0 D) w* t# a5 W
UIManager.put("Label.font",f);
; E& D: g* i# s/ G* P6 M9 @8 yUIManager.put("Label.foreground",Color.black);
( Y' y, `% h& d" fUIManager.put("Button.font",f); 4 W  U1 X: k9 P3 V6 N
UIManager.put("Menu.font",f); - V: ?1 R9 n+ e* ^' N7 x. M" V" t! u
UIManager.put("MenuItem.font",f);
6 t+ q, O( [' v; \UIManager.put("List.font",f); & _# z+ D: [0 K5 V. I8 E/ ?) b
UIManager.put("CheckBox.font",f);
7 H3 m7 h4 L% H1 x4 Y, L; l. SUIManager.put("RadioButton.font",f); 5 x" |4 d2 T0 f( p  v; Y
UIManager.put("ComboBox.font",f);
7 Z7 o/ E( c0 m* }3 V2 Y0 OUIManager.put("TextArea.font",f);
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:28:24 | 显示全部楼层

java新手必看:经验总结(1)

2:) 5 z5 e3 E+ s% @# Z0 J3 l8 O
Font f = new Font("隶书",Font.PLAIN,15); 5 C$ u0 T6 d4 O) k9 H( L! _) a7 m
UIManager.put("Button.font",font); 1 v1 o6 d, `4 y% ?6 D8 f, v4 \  g
UIManager.put("ToggleButton.font",font); 2 H  E1 s0 Z# m0 r( M
UIManager.put("RadioButton.font",font); ; c( v4 {# {* M5 u; B5 @, I3 F
UIManager.put("CheckBox.font",font);
5 W: s' E9 O3 Z' WUIManager.put("ColorChooser.font",font); # [' F, ~( I1 r
UIManager.put("ToggleButton.font",font); - [, t% z  _, w3 `
UIManager.put("ComboBox.font",font);
  M4 B) _; h2 YUIManager.put("ComboBoxItem.font",font);
2 {: e5 g1 v. s) fUIManager.put("InternalFrame.titleFont",font);
3 s0 H3 ]4 }) r9 m, TUIManager.put("Label.font",font);
0 t! b7 J& T/ C2 b0 _/ FUIManager.put("List.font",font); : S# k. k1 y! Q' Y6 J
UIManager.put("MenuBar.font",font); 2 X. j' Q2 k! a
UIManager.put("Menu.font",font); 0 d4 f* I0 ^' \$ b
UIManager.put("MenuItem.font",font);
& ?+ ^4 V* M) O* q3 L) gUIManager.put("RadioButtonMenuItem.font",font); / z' X5 U6 X4 g
UIManager.put("CheckBoxMenuItem.font",font); - i1 g; @) ]7 S! m& b6 d: R& f
UIManager.put("PopupMenu.font",font); " I& D4 h! c2 _2 D& q- h4 m
UIManager.put("OptionPane.font",font);
9 ?5 p% l9 M7 J/ \$ sUIManager.put("Panel.font",font); " i* J' E  E- s) d8 E
UIManager.put("ProgressBar.font",font);
  x- T3 K7 X- L' P  q7 l$ l6 B. X+ kUIManager.put("ScrollPane.font",font); & ^3 B2 V& E3 Q8 }* i& h
UIManager.put("Viewport",font);
, {& |+ m+ t) s; y* L8 n4 LUIManager.put("TabbedPane.font",font); 6 m- N& E4 s- c# D8 R/ f
UIManager.put("TableHeader.font",font);
4 z1 T( v. s& o/ _# Y8 J/ @- sUIManager.put("TextField.font",font); 8 i8 u* Y& u' \1 D" h* u' q
UIManager.put("PasswordFiled.font",font);
8 F" ~+ N6 L/ u7 s) YUIManager.put("TextArea.font",font);
5 n/ D: R# H0 eUIManager.put("TextPane.font",font);
3 y. _" ]: h3 R1 ZUIManager.put("EditorPane.font",font); & E8 k: f+ ~- n% W* K
UIManager.put("TitledBorder.font",font);
. ]( z1 z4 H% ~5 e9 uUIManager.put("ToolBar.font",font);
/ P, |6 Q* A! T" F8 l: s) NUIManager.put("ToolTip.font",font);
) T$ |. T" J+ B5 t& \+ l; B9 F: L, XUIManager.put("Tree.font",font);
# d3 ]- T  l; x& X9 w, u/ @+ ^& V  m7 D9 V; h# C
  3:)针对jsp和servlet:
. u0 t, E" z/ O% A" C% e解决办法:
0 s. C2 |( \# ]; |& V1 [3 W/ _1 C第一: : G9 l, ^9 m: I' w6 q
在jsp页面加入: " l. `8 j. r1 J- n3 u9 K9 k$ Z

/ W' n# Y, `5 W7 r2 q. `" s& v或者在servlet里面
, s  A+ o. I$ [! S  O* @public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
# {9 q9 |' s) d- m' A2 Lresponse.setContentType("text/html; charset=gb2312");//这是重要的
+ Z* d% m# ]4 D6 H! y4 N上面的如果在不行就用如下的方法在数据入库前进行调用:
% Z& @  J+ {7 e* U7 Q; Upublic static String UnicodeToChinese(String s){
* R' m  q8 ^% x2 z# }try{
. _5 L( k- y" Z5 E( Yif(s==null||s.equals("")) return "";   z, J3 \, Y; l9 J: }) A
String newstring=null;
1 f7 ^. T' a* E' G0 Gnewstring=new String(s.getBytes("ISO8859_1"),"gb2312");
% ^3 u' [4 c# p5 Preturn newstring;
; |. {2 E; V" d; b+ _} 5 K/ ]2 c7 ?0 Z/ g2 i( C) ~( |
catch(UnsupportedEncodingException e)
1 r2 @* P6 [) w& z2 R' w{
7 [% G/ P$ V7 `6 B* nreturn s;
7 z2 J' T/ f, D9 `6 `8 N$ a}
# D6 y" l  }6 }0 F0 [} 9 }  i! V! O% A9 E

& k( a0 G# O7 _$ upublic static String ChineseToUnicode(String s){ ! P, _" t! W% _$ k' W
try{ * q( y8 @: c% q. l
if(s==null||s.equals("")) return "";
% ]# m7 M  R: d1 ]1 TString newstring=null; 6 p  A: T6 E4 }6 k9 u( V' v
newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
+ N" G; C9 m, J! R" treturn newstring;
: k9 W# B  q$ ~# y}
5 T6 Z2 n! p7 h1 ~! Acatch(UnsupportedEncodingException e) $ d0 L  Y% x8 N1 X
{ 0 ~  F, v9 h4 E% ?+ J
return s; + _% P6 X- }7 h8 j
} : a0 w0 o5 S" [; i# x1 n
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:28:25 | 显示全部楼层

java新手必看:经验总结(1)

3:)解决weblogic/webshpere中文问题:
! v- D9 d1 N+ o6 D2 N4 o在web.xml文件中需要配置中文环境。r如下:
; l+ ^1 d: h4 b- N7 T: R* o- S
) L* H6 {$ ]1 C# c$ [, K7 P' N, iweblogic.httpd.inputCharset./*
% R2 r/ R0 x. M3 M2 YGB2312
6 p$ |5 W7 ~7 f! ^, ?
6 b$ w9 d7 A8 W* v% v6 o, a: z( `   4:)javamail附件中文乱码: , p' ^9 R* q9 Y: ]( _" h- ?, a
/*
* q) B) z+ ~/ n8 i0 [@从BodyPart中提取使用ISO-8859-1编吗的文件名 5 S6 \4 Y. J: b! L" J
@因为BodyPart.getFilename()过程已经对文件名作了一次编码,有时不能直接使用
2 n- Q6 f( b  Y" S" @  F*/
% K+ [* ]. D# ~* U5 C( q- I- kpublic static String getISOFileName(Part body){
' ~: q& {% K, a% k//设置一个标志,判断文件名从Content-Disposition中获取还是从Content-Type中获取
9 R/ L8 e% v$ ^. qboolean flag=true;
, b' P+ T2 [* p" jif(body==null){ % |) B& c9 U- @# i: r
return null;
: w8 O1 P: d3 I} 9 U, D4 V! S* F. R
String[] cdis;
* V* V1 b. l; |9 C8 d" P: u0 Itry{ ! x2 A2 O: i5 m* q. M$ Y" o
cdis=body.getHeader("Content-Disposition"); 0 I8 `: I4 Z% x
} 6 V  b: N* o; ~) H$ ^
catch(Exception e){
0 Q! v1 k6 m0 l. K4 F) kreturn null;
6 t( ?5 Y1 q* R. C& S) K} ( Y9 N% f/ L# z7 N: J# n
if(cdis==null){
% V5 h' x" l. p" Kflag=false;
. c; Y" E1 p$ q* b) Z/ q, B$ K} ( Z9 t7 z9 D8 c% v: \/ K
if(!flag){ , E4 a1 l1 @3 q6 ?  G1 l' a1 t
try{ * l9 F" ^& s+ u' _, T$ }- ^$ f' ^
cdis=body.getHeader("Content-Type");
6 e0 @2 Q* ~) U2 v0 Q} 8 B/ K; V3 L0 b7 @  F! F
catch(Exception e){
- d# F5 U' l* Creturn null;
6 l: s7 E! x6 `9 F) w} 7 x- y; _! |. _0 C& T  v' p
} % a* G4 U: p" s  U9 Y
if(cdis==null){ * ]. R  v1 j) Z% {/ L+ S
return null; 9 E# V/ K" N0 f; z1 y1 Q
}
5 H+ Q9 k/ q5 Yif(cdis[0]==null){ % x6 C$ n5 r! q. n3 K) z
return null; 5 j8 F3 X" r  |6 ?8 [7 T" k, G
} / @& D5 r: U5 n. T" E
//从Content-Disposition中获取文件名 * O3 o: D: }& j, ]
if(flag){ 4 N* A; {% p( \& o. d
int pos=cdis[0].indexOf("filename="); - x) A1 Y- o1 b" l4 [4 ~+ m
if(pos
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-16 21:04 , Processed in 0.416344 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表