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中,也可以單獨(dú)下載(約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é)的比較扎實(shí)
??過早的依賴IDE只會讓你對Java API蜻蜓點(diǎn)水,一知半解.
??甚至都未能掌握J(rèn)ava的基本語法
??掌握了扎實(shí)的基礎(chǔ)后,再選擇一款I(lǐng)DE進(jìn)行開發(fā)是很容易的
??學(xué)習(xí)或使用Java,多查javadoc是很重要的(推薦使用JavaDOCHelper,類似MSDN的界面)
??版上的不少問題,其實(shí)稍微查查便不是問題
設(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的基本知識之余,一定要勤實(shí)踐,自己給自己一些動手機(jī)會
??適度的記住一些常用api,不要過分依賴IDE的代碼提示
開發(fā)工具 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????
?JBuilder
????業(yè)界最主流的IDE之一,是Java開發(fā)工具的大哥大
????目前最新版本 JBuilder 2005
????無論開發(fā)j2se、j2me、j2ee還是xml/webservice,都是一把利器
????Foundation Edition可免費(fèi)下載,但功能較少
????網(wǎng)上有流傳企業(yè)版,為避免不必要的麻煩,請謹(jǐn)慎使用(尤其在公司)
????相關(guān)鏈接:http://www.borland.com/products/jbuilder
?Eclipse
????新興的Java IDE,免費(fèi)、開放源代碼、跨平臺、功能強(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時遇到的問題,其實(shí)和jsp/servlet本身沒什么關(guān)系,而是普通的Java問
題。 一個合格的jsp/servlet程序員首先應(yīng)該是合格的Java程序員。
?建議在學(xué)習(xí)和使用jsp/servlet前,先打下堅實(shí)的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的參考實(shí)現(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,修改為
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
??<servlet>
????<servlet-name>test</servlet-name>
????<servlet-class>testservlet.FooServlet</servlet-class>
??</servlet>
??<servlet-mapping>
????<servlet-name>test<ervlet-name>
????<url-pattern>/foobar</url-pattern>
??</servlet-mapping>
</web-app>
把這個程序部署到服務(wù)器上,比如把X:/test/*復(fù)制到tomcat/webapps/test/*
打開瀏覽器訪問 http://localhost:8080/test/foobar,順利的話會看到一行文字
jsp顯示的是亂碼怎么辦 ??????????????????????????????????????????????????????????????????????????????????????????????????
?jsp的中文問題以下幾種 ?//不包括jdbc讀寫數(shù)據(jù)庫的中文問題
?1. jsp中寫了中文如<p>中文</p>, 卻不能顯示
???????解決方法 在jsp第一行加入 ???????????????????????????????????????????????????????????????????????????????????????
??????????<%@ page contentType="text/html; charset=gb2312" %>
?2. 表單中寫了一個中文,如<input type="text" name="a" value="中文">
????卻不能接受到 <%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 ????????????????????????????????????????????????????
怎樣實(shí)現(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
??大家學(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中,也可以單獨(dú)下載(約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é)的比較扎實(shí)
??過早的依賴IDE只會讓你對Java API蜻蜓點(diǎn)水,一知半解.
??甚至都未能掌握J(rèn)ava的基本語法
??掌握了扎實(shí)的基礎(chǔ)后,再選擇一款I(lǐng)DE進(jìn)行開發(fā)是很容易的
??學(xué)習(xí)或使用Java,多查javadoc是很重要的(推薦使用JavaDOCHelper,類似MSDN的界面)
??版上的不少問題,其實(shí)稍微查查便不是問題
設(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的基本知識之余,一定要勤實(shí)踐,自己給自己一些動手機(jī)會
??適度的記住一些常用api,不要過分依賴IDE的代碼提示
開發(fā)工具 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????
?JBuilder
????業(yè)界最主流的IDE之一,是Java開發(fā)工具的大哥大
????目前最新版本 JBuilder 2005
????無論開發(fā)j2se、j2me、j2ee還是xml/webservice,都是一把利器
????Foundation Edition可免費(fèi)下載,但功能較少
????網(wǎng)上有流傳企業(yè)版,為避免不必要的麻煩,請謹(jǐn)慎使用(尤其在公司)
????相關(guān)鏈接:http://www.borland.com/products/jbuilder
?Eclipse
????新興的Java IDE,免費(fèi)、開放源代碼、跨平臺、功能強(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時遇到的問題,其實(shí)和jsp/servlet本身沒什么關(guān)系,而是普通的Java問
題。 一個合格的jsp/servlet程序員首先應(yīng)該是合格的Java程序員。
?建議在學(xué)習(xí)和使用jsp/servlet前,先打下堅實(shí)的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的參考實(shí)現(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,修改為
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
??<servlet>
????<servlet-name>test</servlet-name>
????<servlet-class>testservlet.FooServlet</servlet-class>
??</servlet>
??<servlet-mapping>
????<servlet-name>test<ervlet-name>
????<url-pattern>/foobar</url-pattern>
??</servlet-mapping>
</web-app>
把這個程序部署到服務(wù)器上,比如把X:/test/*復(fù)制到tomcat/webapps/test/*
打開瀏覽器訪問 http://localhost:8080/test/foobar,順利的話會看到一行文字
jsp顯示的是亂碼怎么辦 ??????????????????????????????????????????????????????????????????????????????????????????????????
?jsp的中文問題以下幾種 ?//不包括jdbc讀寫數(shù)據(jù)庫的中文問題
?1. jsp中寫了中文如<p>中文</p>, 卻不能顯示
???????解決方法 在jsp第一行加入 ???????????????????????????????????????????????????????????????????????????????????????
??????????<%@ page contentType="text/html; charset=gb2312" %>
?2. 表單中寫了一個中文,如<input type="text" name="a" value="中文">
????卻不能接受到 <%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 ????????????????????????????????????????????????????
怎樣實(shí)現(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