當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]What is Java? Why Java? 大家學(xué)習(xí)Java有各自的理由,基本上Java是一個比較好的面向?qū)ο笳Z言,api豐富 是當(dāng)前比較主流的編程語言,J2SE/J2ME/J2EE在各個開發(fā)領(lǐng)域

What is Java? Why Java?
大家學(xué)習(xí)Java有各自的理由,基本上Java是一個比較好的面向?qū)ο笳Z言,api豐富
是當(dāng)前比較主流的編程語言,J2SE/J2ME/J2EE在各個開發(fā)領(lǐng)域都發(fā)展良好
Java不會取代其他開發(fā)語言或開發(fā)平臺,如c/c++/c#或Delphi/.NET
沒有最好的語言,只有某種應(yīng)用場合下相對合適的語言

JRE
Java 2 Runtime Environment, Java 運(yùn)行時環(huán)境
包括Java虛擬機(jī)(JVM),和必須的類庫
它是運(yùn)行Java程序和網(wǎng)頁Applet的必備環(huán)境
它被包含在j2sdk中,也可以單獨下載(約10M)
下載地址: http://java.sun.com/getjava/download.html

JDK/SDK/J2SE
Java 2 Software Development Kit, Standard Edtion
是開發(fā)Java的必備環(huán)境,包括編譯器等工具和大量類庫,一般IDE中也會自帶
 下載地址:http://java.sun.com/j2se/downloads.html

J2EE
Java 2 Platform, Enterprise Edition
是Java在企業(yè)級應(yīng)用的主要技術(shù),也是目前Java最主要的應(yīng)用場合
包括JAXP、JAXR、JAX-RPC、SAAJ、JAAS、JavaMail、JMS、JSF、JSP/Servlet等
開發(fā)J2EE,可以下載j2eesdk開發(fā)包,一般IDE中也會自帶
相關(guān)鏈接:http://java.sun.com/j2ee

J2ME
Java 2 Platform, Macro Edition
是Java應(yīng)用于嵌入式系統(tǒng)(如手機(jī))的主要技術(shù)
相關(guān)鏈接:http://java.sun.com/j2me

開發(fā)方式
市面上的IDE(集成開發(fā)環(huán)境)可以極大的提高開發(fā)效率
但如果你初學(xué)Java,我們推薦用JDK+Editplus或UltraEdit
雖然簡陋些,但卻可以學(xué)的比較扎實
過早的依賴IDE只會讓你對Java API蜻蜓點水,一知半解.
甚至都未能掌握J(rèn)ava的基本語法
掌握了扎實的基礎(chǔ)后,再選擇一款I(lǐng)DE進(jìn)行開發(fā)是很容易的

學(xué)習(xí)或使用Java,多查javadoc是很重要的(推薦使用JavaDOCHelper,類似MSDN的界面)
版上的不少問題,其實稍微查查便不是問題

設(shè)置環(huán)境變量
 安裝了JDK以后,要配置環(huán)境變量
Windows 2000
 我的電腦->屬性->高級->環(huán)境變量
 添加以下環(huán)境變量(假定你的java安裝在d:/Java/j2sdk1.4.2)
變量名 值 說明
JAVA_HOME d:/Java/j2sdk1.4.2
CLASSPATH . .表示當(dāng)前目錄,即搜索當(dāng)前目錄
PATH ...;%JAVA_HOME%/bin ...表示原來的PATH值
新開一個dos窗口,鍵入java和javac測試一下
Linux
以下為RedHat,bash為例 不同發(fā)行版略有不同,環(huán)境變量的設(shè)置詳見Unix/Linux版
修改用戶目錄下的.bash_profile,如vi ~/.bash_profile
JAVA_HOME=/usr/local/java/j2sdk1.4.2
CLASSPATH=.
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH
重新登陸,使這個設(shè)置生效,在終端輸入java javac測試一下

簡單測試程序
 代碼:--------------------------------
  public class Test{
   public static void main(String[] args){
    System.out.println("Hello world!");
   }
  }
 -------------------------------------
用記事本等工具編寫,保存成Test.java
注意,
如果你的windows設(shè)置'不顯示已知擴(kuò)展名'的話,
很有可能被保存成Test.java.txt
然后在命令行工具,cd到Test.java所在目錄,執(zhí)行
   javac Test.java
   java Test

關(guān)于Java的學(xué)習(xí)
入門Java,請看一本系統(tǒng)講解Java的書籍
這方面的書,市面上很多,大同小異,無所謂挑那本
但盡量挑本面向高版本的講解語法的書,千萬不要選《VJ++入門到精通》之類
推薦的書籍如 Java in a Nutshell, Java大學(xué)教程,Java核心技術(shù),Java編程思想等
系統(tǒng)學(xué)習(xí)Java的基本知識之余,一定要勤實踐,自己給自己一些動手機(jī)會
適度的記住一些常用api,不要過分依賴IDE的代碼提示

開發(fā)工具

JBuilder
業(yè)界最主流的IDE之一,是Java開發(fā)工具的大哥大
目前最新版本 JBuilder 2005
無論開發(fā)j2se、j2me、j2ee還是xml/webservice,都是一把利器
Foundation Edition可免費下載,但功能較少
網(wǎng)上有流傳企業(yè)版,為避免不必要的麻煩,請謹(jǐn)慎使用(尤其在公司)
相關(guān)鏈接:http://www.borland.com/products/jbuilder

Eclipse
新興的Java IDE,免費、開放源代碼、跨平臺、功能強(qiáng)大、運(yùn)行速度快
同時可以通過開發(fā)新的插件擴(kuò)展現(xiàn)有插件的功能,比如在現(xiàn)有的Java開發(fā)環(huán)境中加
入Tomcat服務(wù)器插件。
相關(guān)鏈接:http://www.eclipse.org

Ant
它是流行的Java build工具,"Everyone should use ant"
Ant不是一個IDE,但卻可以做很多IDE的事,如編譯/打包/部署/單元測試/CVS等
對于中等規(guī)模以上的項目,必定依賴很多類庫和擁有復(fù)雜的包結(jié)構(gòu)
使用Ant處理這些是極佳的選擇
相關(guān)鏈接:http://ant.apache.org

JSP
Java Server Page,一種Java Web開發(fā)的一項技術(shù),和javascript沒有什么關(guān)系.

Servlet
先于jsp出現(xiàn)的動態(tài)網(wǎng)頁技術(shù),類似cgi,但使用多線程處理請求.

jsp/servlet與Java的關(guān)系
Servlet只是繼承了HttpServlet的Java類,而jsp最終會被編譯成Servlet并執(zhí)行
很多在開發(fā)web時遇到的問題,其實和jsp/servlet本身沒什么關(guān)系,而是普通的Java問
題。 一個合格的jsp/servlet程序員首先應(yīng)該是合格的Java程序員。
建議在學(xué)習(xí)和使用jsp/servlet前,先打下堅實的Java基礎(chǔ)

以下問題不屬于jsp/servlet范疇
.常用API的使用,諸如"如何把int變?yōu)镾tring" "如何得到當(dāng)前時間" "如何創(chuàng)建線程"
.JDBC的使用和相關(guān)注意事項,諸如"如何訪問MySQL" "為什么我插入數(shù)據(jù)是亂碼"
.其他J2EE技術(shù)的使用,諸如"如何使用JavaMail" "如何訪問EJB"

推薦書籍
如果可能,請閱讀一本系統(tǒng)的書籍來指導(dǎo)你學(xué)習(xí)這項技術(shù)
筆者只看過"JSP高級編程"(機(jī)械工業(yè)2001年,廖若雪)
其他大型出版社出版的書都應(yīng)該不錯,如Wrox,O'Reilly,或者國內(nèi)出版社
挑書的時候最好選用jsp 1.2,servlet 2.3規(guī)范以上的書籍

Tomcat
這個是個開放源代碼的JSP/Servlet服務(wù)器,是jsp/servlet的參考實現(xiàn),適合初學(xué)
主頁http://jakarta.apache.org/tomcat/
Tomcat 4.1和Tomcat 5都是目前穩(wěn)定版本,后者支持最新的jsp/servlet標(biāo)準(zhǔn)
建議下載zip版的,解壓縮,運(yùn)行bin/starup.bat即可出現(xiàn)服務(wù)器啟動的界面
如果啟動失敗,請確定本機(jī)的Java環(huán)境已正確,參見JAVA_HOME和PATH的配置

conf目錄里是服務(wù)器的配置,webapps是部署網(wǎng)站的目錄

自己寫的java class應(yīng)該放哪里
假設(shè)你的index.jsp的位置是X:/test/index.jsp, X:/test是你的項目目錄
Test.class的位置應(yīng)該是X:/test/WEB-INF/classes/Test.class

項目中的lib應(yīng)該放哪里
X:/test/WEB-INF/lib/myLib.jar

如何寫個servlet
package testservlet;

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;

public class FooServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.getWriter().println("hi, I'm a servlet");
}
}
編譯這個類 javac -classpath servlet-api.jar FooServlet.java
其中這個jar可以從tomcat-5.0.19/common/lib/servlet-api.jar獲得
編譯后的class放在 X:/test/WEB-INF/classes/testservlet/FooServlet.class
其中testservlet你包的名字,應(yīng)盡量寫package,避免莫名其妙的麻煩

編譯X:/test/WEB-INF/web.xml,修改為

2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">


test
testservlet.FooServlet


test
/foobar


把這個程序部署到服務(wù)器上,比如把X:/test/*復(fù)制到tomcat/webapps/test/*
打開瀏覽器訪問 http://localhost:8080/test/foobar,順利的話會看到一行文字

jsp顯示的是亂碼怎么辦
jsp的中文問題以下幾種 //不包括jdbc讀寫數(shù)據(jù)庫的中文問題
1. jsp中寫了中文如

中文

, 卻不能顯示
解決方法 在jsp第一行加入
<%@ page contentType="text/html; charset=gb2312" %>

2. 表單中寫了一個中文,如
卻不能接受到 <%System.out.println(request.getParameter("a"));%>
解決方法 在jsp或servlet中處理參數(shù)前加一條
request.setCharacterEncoding("GB2312");

3. http://host/a.jsp?name=中文 這樣的url中的name取不到
解決方法 應(yīng)該使用java.net.URLEncoder類把這個字符串轉(zhuǎn)成ascii

怎樣實現(xiàn)文件上傳
常見的Java文件上傳api有
Jakarta Commons FileUpload http://jakarta.apache.org/commons/fileupload/
COS
SmartUpload
下載相關(guān)的文件,里面一般有demo的

JSTL和EL
分別是Java Standard Tag Lib和Expression Language
可以大大簡化常規(guī)的jsp開發(fā),并讓頁面更簡潔,而不是充斥著scriptlet
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉