⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java初学者必读.txt

📁 java初学者一定要看看哦
💻 TXT
📖 第 1 页 / 共 5 页
字号:
  
 
      
      
 
 首 页 | 新 闻 | 技 术 | 论 坛 | 人 才 | 商 城 | 大本营 |《程序员》| 软 件   
 
 2004.4.16  
English  
 
 
 

 CSDN - 专家门诊 - Java J2SE / 基础类问题  
 推荐 | 保存 | 关闭窗口    
 
 
主  题:  java初学者必读-经验总结 
作  者:  wjmmml (笑着悲伤)  
等  级:    
信 誉 值:  183 
所属论坛:  Java J2SE / 基础类 
问题点数:  24 
回复次数:  234 
发表时间:  2002-09-30 09:51:20Z 
   
 
   

最近升级为2颗红星,昨天又发现进入排行榜前10名,很高兴,于是散点分(别嫌我吝啬),把java初学者学习总可能用的到问题总结一下,想对大家有帮助。
1:jdk开发中系统环境变量设置:
方法如下:
Win2000中:
右键我的电脑--》属性--》高级--》环境环境变量
classpath=.;jdk安装目\lib
path=jdk安装目录\bin
注意:一定不可忽略“.”。
Win98中:
修改autocexe.bat 就是修改自动批处理文件。
添加:
set classpath=.;jdk安装目\lib
set path=jdk安装目录\bin;%path%

2:(前提设置好了系统环境变量)
不带包的编译,相当简单:
javac 类名.java
java 类名

关于带包的编译问题:
如果你的类是带包的,应该用如下方法编译:
javac -d  包的父目录 类名.java
java  包名.类名

3:Tomcat服务器配置:
   1):设置好系统环境变量。
   2):JAVA_HOME=G:\JBuilder6\jdk1.3.1
     G:\JBuilder6\jdk1.3.1为jdk安装目录
   3):TOMCAT_HOME=tomcat安装目录
4:修改serlet而不重新启动tomcat
修改
%TOMCAT_HOME%\conf\server.xml
大致如下:
<Context path="" docBase="ROOT" debug="0"  reloadable="true"/>
其中reloadable就是配置是否自动reload的,把它设为true,如果没有这一项,加上。
5:修改webshpere中的servlet而不重新启动服务:
修改..\WEB-INF下面的web.xml:
加入<webappext:WebAppExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappext="webappext.xmi" xmlns:webapplication="webapplication.xmi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:id="WebApp_ID_Ext" reloadInterval="3" reloadingEnabled="true" fileServingEnabled="true" directoryBrowsingEnabled="true" serveServletsByClassnameEnabled="true">其中reloadInterval="3" reloadingEnabled="true" fileServingEnabled="true" directoryBrowsingEnabled="true" serveServletsByClassnameEnabled="true"是主要的,reloadInterval="3" reloadingEnabled="true" 是说修改后3秒自动重新载
入。
6:配置jbuilder6+webshpere4.0AE,其实jb7可以参照:
首先安装j2ee,然后把j2ee加入到jb的libraries里面。方法如下
  1:)tools--->configure libraries-->new--->name:里面填写j2ee,Location:里面默认的旧可以了。---->add-->选在j2ee安装路径,选中lib文件夹--ok--oK.
 2:)返回到configure libraries也面后,选中Required Libraries-->add--》选中你刚才创建的j2ee,点ok就可以了。
然后配置webshpere应用服务器和database pilot:
第一步:tools-->enterprise setup-->Application servers设置安装路径以及IBM的JAVA路径,DB2你自己看着办
第二步:project-->Defaults project properties里servers选择Ws4.0,应该可以用了
webshpere4.0不支持ejb2.0,webshpere5.0支持。
配置database pilot
第一步:添加类库tools-->config libraries添加你的数据库驱动程序类
第二步:tools-->enterprise setup-->Database Drivers里面添加你刚添加的那个类库
第三步:重启JBilder后,tools-->database pilot-->option-->drivers,添加驱动程序
第四步:在database pilot点新建就可以了,driver:COM.ibm.db2.jdbc.app.DB2Driver。url:jdbc:db2:db_sdbc.(db_sdbc为服务器上的db2数据库).

 

  
 
 
 回复人: Tatming(笨鸟) ( ) 信誉:95  2002-09-30 10:04:28Z  得分:0 
 
 
  
刚刚想问这些问题呢
谢谢了哈
国庆快乐!
嘿嘿
  
 
Top 
 
 回复人: wjmmml(笑着悲伤) ( ) 信誉:183  2002-09-30 10:06:48Z  得分:0 
 
 
  
7:解决java中文问题:
针对applet和awt:
    1:)
    Font f = new Font(UIResource.getString(      "Default_font"),Font.PLAIN,12);
      UIManager.put("Label.font",f);
      UIManager.put("Label.foreground",Color.black);
      UIManager.put("Button.font",f);
      UIManager.put("Menu.font",f);
      UIManager.put("MenuItem.font",f);
      UIManager.put("List.font",f);
      UIManager.put("CheckBox.font",f);
      UIManager.put("RadioButton.font",f);
      UIManager.put("ComboBox.font",f);
      UIManager.put("TextArea.font",f);


    2:)
      Font f = new Font("隶书",Font.PLAIN,15);
           UIManager.put("Button.font",font);
	  UIManager.put("ToggleButton.font",font);
	  UIManager.put("RadioButton.font",font);
	  UIManager.put("CheckBox.font",font);
	  UIManager.put("ColorChooser.font",font);
	  UIManager.put("ToggleButton.font",font);
	  UIManager.put("ComboBox.font",font);
	  UIManager.put("ComboBoxItem.font",font);
	  UIManager.put("InternalFrame.titleFont",font);
	  UIManager.put("Label.font",font);
	  UIManager.put("List.font",font);
	  UIManager.put("MenuBar.font",font);
	  UIManager.put("Menu.font",font);
	  UIManager.put("MenuItem.font",font);
	  UIManager.put("RadioButtonMenuItem.font",font);
	  UIManager.put("CheckBoxMenuItem.font",font);
	  UIManager.put("PopupMenu.font",font);
	  UIManager.put("OptionPane.font",font);
	  UIManager.put("Panel.font",font);
	  UIManager.put("ProgressBar.font",font);
	  UIManager.put("ScrollPane.font",font);
	  UIManager.put("Viewport",font);
	  UIManager.put("TabbedPane.font",font);
	  UIManager.put("TableHeader.font",font);
	  UIManager.put("TextField.font",font);
	  UIManager.put("PasswordFiled.font",font);
	  UIManager.put("TextArea.font",font);
	  UIManager.put("TextPane.font",font);
	  UIManager.put("EditorPane.font",font);
	  UIManager.put("TitledBorder.font",font);
	  UIManager.put("ToolBar.font",font);
	  UIManager.put("ToolTip.font",font);
	  UIManager.put("Tree.font",font);

 3:)针对jsp和servlet:
解决办法:
第一:
在jsp页面加入:
<%@ page contentType="text/html; charset=gb2312" %>
或者在servlet里面
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html; charset=gb2312");//这是重要的
上面的如果在不行就用如下的方法在数据入库前进行调用:
public static String UnicodeToChinese(String s){
  try{
     if(s==null||s.equals("")) return "";
     String newstring=null;
     newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
     return newstring;
    }
  catch(UnsupportedEncodingException e)
  {
  return s;
  }
  }

public static String ChineseToUnicode(String s){
  try{
  if(s==null||s.equals("")) return "";
  String newstring=null;
  newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
   return newstring;
  }
  catch(UnsupportedEncodingException e)
  {
  return s;
 }
  }

3:)解决weblogic/webshpere中文问题:
在web.xml文件中需要配置中文环境。r如下:
<context-param>
  <param-name>weblogic.httpd.inputCharset./*</param-name>
  <param-value>GB2312</param-value>
</context-param>
  4:)javamail附件中文乱码:
/*
        @从BodyPart中提取使用ISO-8859-1编吗的文件名
        @因为BodyPart.getFilename()过程已经对文件名作了一次编码,有时不能直接使用
    */
    public static String getISOFileName(Part body){
        //设置一个标志,判断文件名从Content-Disposition中获取还是从Content-Type中获取
        boolean flag=true;
        if(body==null){
            return null;
        }
        String[] cdis;
        try{
            cdis=body.getHeader("Content-Disposition");
        }
        catch(Exception e){
            return null;
        }
        if(cdis==null){
            flag=false;
        }
        if(!flag){
            try{
                cdis=body.getHeader("Content-Type");
            }
            catch(Exception e){
                return null;
            }
        }
        if(cdis==null){
            return null;
        }
        if(cdis[0]==null){
            return null;
        }
        //从Content-Disposition中获取文件名
        if(flag){
            int pos=cdis[0].indexOf("filename=");
            if(pos<0){
                return null;
            }
            //如果文件名带引号
            if(cdis[0].charAt(cdis[0].length()-1)=='"'){
                return cdis[0].substring(pos+10,cdis[0].length()-1);
            }
            return cdis[0].substring(pos+9,cdis[0].length());
        }
        else{
            int pos=cdis[0].indexOf("name=");
            if(pos<0){
                return null;
            }
            //如果文件名带引号
            if(cdis[0].charAt(cdis[0].length()-1)=='"'){
                return cdis[0].substring(pos+6,cdis[0].length()-1);
            }
            return cdis[0].substring(pos+5,cdis[0].length());
        }
    }
8:字符串分割:
    public int getCount(String str,String sign){//查找某一字符串中str,特定子串s的出现次数
      if(str==null) return 0;
      StringTokenizer s=new StringTokenizer(str,sign);
      return s.countTokens();
  }
 public String[] getArray(String str,String sign){//按特定子串s为标记,将子串截成数组。
    int count=getCount(str,sign);
    int j=0;
    String[] arr=new String[count];
    for(int i=0;i<count;i++){
       if(str.indexOf(sign)!=-1){
            j     =str.indexOf(sign);
            arr[i]=str.substring(0,j);
            str   =str.substring(j+1);
        }else{
            arr[i]=str;
        }
    }
    return arr;

}
9:jdk1.3没有字符串替换函数,(jdk1.4有)。
解决1.3中的个这个问题如下:

public String stringReplace(String sourceString, String toReplaceString, String replaceString)
  {
    String returnString = sourceString;
    int stringLength = 0;
    if(toReplaceString != null)
    {
      stringLength = toReplaceString.length();
    }
    if(returnString != null && returnString.length() > stringLength)
    {
      int max = 0;
      String S4 = "";
      for(int i = 0; i < sourceString.length(); i++)
      {
        max = i + toReplaceString.length() > sourceString.length()? sourceString.length():i + stringLength;
        String S3 = sourceString.substring(i, max);
        if(!S3.equals(toReplaceString))
        {
          S4 += S3.substring(0,1);
        }else{
          S4 += replaceString;
          i += stringLength -1 ;
        }
      }
      returnString = S4;
    }
    return returnString;
  }
9:设置weblogic连接池:

pool的配置:
假设已配置服务:expserv
且数据库服务器机器名为:expserv
数据库sid:expservSID,用户名和密码都为:expserv
以weblogic7.0为例,首先启动服务
http://localhost:port/console
打开service\jdbc\connection pools
配置oraclePool如下:
Configuration:
   Name: oraclePool 
   URL: jdbc:oracle:thin:@expserv:1521:expservSID
   Driver Classname: oracle.jdbc.driver.OracleDriver  
   Properties(key=value): user=expserv
Targets:
   Targets-Server:expserv
在weblogic7.0中除了数据库密码,其他的pool参数都可以在config.xml中直接用文本编辑器直接修改。
  
 
Top 
 
 回复人: myjoy(笑看风云) ( ) 信誉:98  2002-09-30 10:08:26Z  得分:0 
 
 
  
挺好,鼓励!
不过分少了点,我也期盼能晋升到五个星。
  
 
Top 
 
 回复人: micheas(冷雨) ( ) 信誉:95  2002-09-30 10:08:30Z  得分:0 
 
 
  
好东东,值得珍藏!!!
  
 
Top 
 
 回复人: wjmmml(笑着悲伤) ( ) 信誉:183  2002-09-30 10:08:37Z  得分:0 
 
 
  
10:数字转货币大写(js)
function ChangeToBig(value)
{
	var intFen,i;
	var strArr,strCheck,strFen,strDW,strNum,strBig,strNow;

	if(trim(value)=="")   //数据为空时返回"零"
		return "零";
	if (isNaN(value))   //数据非法时提示,并返回空串
	{
		strErr = "数据"+value+"非法!"
		alert(strErr);
		return "";
	}
	strCheck = value+".";
	strArr = strCheck.split(".");
	strCheck = strArr[0];
	if(strCheck.length>12)   //数据大于等于一万亿时提示无法处理
	{
		strErr = "数据"+value+"过大,无法处理!"
		alert(strErr);
		return "";
	}
	try
	{
		i = 0;
		strBig = "";
		intFen = value*100;          //转换为以分为单位的数值
		strFen = intFen.toString();
		strArr = strFen.split(".");
		strFen = strArr[0];
		intFen = strFen.length;      //获取长度
		strArr = strFen.split("");	//将各个数值分解到数组内
		while(intFen!=0)   //分解并转换
		{
			i = i+1;
			switch(i)              //选择单位
			{
				case 1:strDW = "分";break;
				case 2:strDW = "角";break;
				case 3:strDW = "元";break;
				case 4:strDW = "拾";break;
				case 5:strDW = "佰";break;
				case 6:strDW = "仟";break;
				case 7:strDW = "万";break;
				case 8:strDW = "拾";break;
				case 9:strDW = "佰";break;
				case 10:strDW = "仟";break;
				case 11:strDW = "亿";break;
				case 12:strDW = "拾";break;
				case 13:strDW = "佰";break;
				case 14:strDW = "仟";break;
			}
			switch (strArr[intFen-1])              //选择数字
			{
				case "1":strNum = "壹";break;
				case "2":strNum = "贰";break;
				case "3":strNum = "叁";break;
				case "4":strNum = "肆";break;
				case "5":strNum = "伍";break;
				case "6":strNum = "陆";break;
				case "7":strNum = "柒";break;
				case "8":strNum = "捌";break;
				case "9":strNum = "玖";break;
				case "0":strNum = "零";break;
			}

			//处理特殊情况
			strNow = strBig.split("");
			//分为零时的情况
			if((i==1)&&(strArr[intFen-1]=="0"))
				strBig = "整";
			//角为零时的情况
			else if((i==2)&&(strArr[intFen-1]=="0"))
			{    //角分同时为零时的情况
				if(strBig!="整")
					strBig = "零"+strBig;
			}
			//元为零的情况
			else if((i==3)&&(strArr[intFen-1]=="0"))
				strBig = "元"+strBig;
			//拾-仟中一位为零且其前一位(元以上)不为零的情况时补零
			else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="元"))
				strBig = "零"+strBig;
			//拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过
			else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
				{} 
			//拾-仟中一位为零且其前一位是元且为零的情况时跨过
			else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="元"))
				{}
			//当万为零时必须补上万字
			else if((i==7)&&(strArr[intFen-1]=="0"))
				strBig ="万"+strBig;
			//拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零
			else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="万"))
				strBig = "零"+strBig;
			//拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过
			else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="万"))
				{}
			//拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过
			else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
				{}
			//万位为零且存在仟位和十万以上时,在万仟间补零

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -