第一篇:JSP實(shí)習(xí)報(bào)告
引言
JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),是一種建立安全的、跨平臺(tái)的、優(yōu)秀的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)。由于其具有強(qiáng)大的可移植性和可擴(kuò)展性,所以應(yīng)用越來越廣泛。實(shí)習(xí)目的和意義
通過JSP的上機(jī)實(shí)習(xí),理論聯(lián)系實(shí)際,鞏固所學(xué)的知識(shí),進(jìn)一步理解和掌握J(rèn)SP的原理和基本語法,加深對(duì)相關(guān)內(nèi)容的理解;提高處理實(shí)際問題的能力,培養(yǎng)實(shí)踐能力,接觸課堂以外的實(shí)踐知識(shí),拓寬知識(shí)面,為最后一學(xué)年課程學(xué)習(xí)打好基礎(chǔ);了解設(shè)計(jì)專題的主要內(nèi)容,為自己能順利與社會(huì)環(huán)境接軌做好準(zhǔn)備。實(shí)習(xí)要求
理解和掌握J(rèn)SP的運(yùn)行原理和基本語法,通過JSP的上機(jī)實(shí)習(xí),可以獨(dú)立安裝、配置JSP的開發(fā)和運(yùn)行環(huán)境,掌握Eclipse等工具軟件的使用方法,鞏固所學(xué)知識(shí),具體實(shí)現(xiàn)以下要求:
1.開發(fā)一個(gè)JSP頁(yè)面,通過JSP輸出“保護(hù)環(huán)境、愛護(hù)地球”。
2.應(yīng)用eclipse創(chuàng)建一個(gè)WEB項(xiàng)目,并在該項(xiàng)目的根目錄下創(chuàng)建index.jsp和welcome.jsp文件,要求實(shí)現(xiàn)如下功能:當(dāng)訪問index文件后,會(huì)自動(dòng)轉(zhuǎn)發(fā)到welcome.jsp頁(yè)面。3.應(yīng)用JSP腳本標(biāo)識(shí)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)數(shù)器。
4.編寫一個(gè)簡(jiǎn)單的留言薄,寫入留言提交后顯示留言內(nèi)容。5.編寫一個(gè)實(shí)現(xiàn)頁(yè)面計(jì)數(shù)的計(jì)數(shù)器。
6.實(shí)現(xiàn)一個(gè)簡(jiǎn)單的登錄程序,要求應(yīng)用JavaBean來接收用戶輸入的用戶名和密碼,然后判斷輸入的用戶名是否為“admin”,密碼是否為“000”,若是,則轉(zhuǎn)發(fā)到success.jsp頁(yè)面,顯示“歡迎登錄”提示信息,否則轉(zhuǎn)發(fā)到fault.jsp頁(yè)面中,顯示“登錄失敗”等提示信息。4 實(shí)習(xí)準(zhǔn)備過程
4.1 軟件準(zhǔn)備
① j2sdk1.6.0: 到 http://java.sun.com/j2se/ ② Tomcat6.0: 到 http://tomcat.apache.org/download ③ myeclipse6.6: 到 http://>
實(shí)現(xiàn)了從index頁(yè)面自動(dòng)轉(zhuǎn)到Welcome 頁(yè)面!
第二篇:JSP實(shí)習(xí)報(bào)告
JSp實(shí)習(xí)報(bào)告
實(shí)習(xí)內(nèi)容:JSp
實(shí)習(xí)目的:通過JSp的學(xué)習(xí),可以獨(dú)立的編寫留言板、上傳規(guī)格、考試系統(tǒng)、連接SQLserver數(shù)據(jù)庫(kù)、以及怎么樣配置運(yùn)行jsp服務(wù)器
實(shí)習(xí)要求:懂得什么是JSp,運(yùn)行原理,它的基本語法,內(nèi)置對(duì)象,服務(wù)端的輸出緩沖區(qū),文件流的讀取,jsp數(shù)據(jù)庫(kù)如:jdbc、odbc、mysql、oracle等,jsp與javaBeans,javaServlet等
JSp是JavaServerpages的縮寫,是由Sun公司倡導(dǎo)、許多公司參與,于1999年推出的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSp是一個(gè)建立安全的、夸平臺(tái)的先進(jìn)動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)。
一、JSp工作原理
在一個(gè)JSp文件第一次被請(qǐng)求時(shí),JSp引擎把該JSp文件轉(zhuǎn)換成為一個(gè)servlet。而這個(gè)引擎本身也是一個(gè)servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。JSp引擎先把該JSp文件轉(zhuǎn)換成一個(gè)Java源文件,在轉(zhuǎn)換時(shí)如果發(fā)現(xiàn)jsp文件有任何語法錯(cuò)誤,轉(zhuǎn)換過程將中斷,并向服務(wù)端和客戶端輸出出錯(cuò)信息;如果轉(zhuǎn)換成功,JSp引擎用javac把該Java源文件編譯成相應(yīng)的class文件。然后創(chuàng)建一個(gè)該SERVLET的實(shí)例,該SERVLET的jspInit()方法被執(zhí)行,jspInit()方法在servlet的生命周期中只被執(zhí)行一次。然后jspService()方法被調(diào)用來處理客戶端的請(qǐng)求。對(duì)每一個(gè)請(qǐng)求,JSp引擎創(chuàng)建一個(gè)新的線程來處理該請(qǐng)求。如果有多個(gè)客戶端同時(shí)請(qǐng)求該JSp文件,則JSp引擎會(huì)創(chuàng)建多個(gè)線程。每個(gè)客戶端請(qǐng)求對(duì)應(yīng)一個(gè)線程。以多線程方式執(zhí)行可大大降低對(duì)系統(tǒng)的資源需求,提高系統(tǒng)的并發(fā)量及響應(yīng)時(shí)間.但應(yīng)該注意多線程的編程限制,由于該servlet始終駐于內(nèi)存,所以響應(yīng)是非常快的。如果.jsp文件被修改了,服務(wù)器將根據(jù)設(shè)置決定是否對(duì)該文件重新編譯,如果需要重新編譯,則將編譯結(jié)果取代內(nèi)存中的servlet,并繼續(xù)上述處理過程。雖然JSp效率很高,但在第一次調(diào)用時(shí)由于需要轉(zhuǎn)換和編譯而有一些輕微的延遲。此外,如果在任何時(shí)候如果由于系統(tǒng)資源不足的原因,JSp引擎將以某種不確定的方式將servlet從內(nèi)存中移去。當(dāng)這種情況發(fā)生時(shí)jspDestroy()方法首先被調(diào)用,然后servlet實(shí)例便被標(biāo)記加入“垃圾收集”處理。jspInit()及jspDestory()格式如下:可在jspInit()中進(jìn)行一些初始化工作,如建立與數(shù)據(jù)庫(kù)的連接,或建立網(wǎng)絡(luò)連接,從配置文件中取一些參數(shù)等,在jspDestory()中釋放相應(yīng)的資源。
<%!
publicvoidjspInit()
{
System.out.println(“jspinit”);
}
%>
<%!
publicvoidjspDestory()
{
System.out.println(“jspDestory”);
}
%>
二、服務(wù)端的輸出緩沖區(qū)
缺省情況下:服務(wù)端要輸出到客戶端的內(nèi)容,不直接寫到客戶端,而是先寫到一個(gè)輸出緩沖區(qū)中.只有在下面三中情況下,才會(huì)把該緩沖區(qū)的內(nèi)容輸出到客戶端上:
該JSp網(wǎng)頁(yè)已完成信息的輸出
輸出緩沖區(qū)已滿
JSp中調(diào)用了out.flush()或response.flushbuffer()
輸出緩沖區(qū)的大小可以用:或response.setBufferSize()設(shè)置,如下:
設(shè)置輸出緩沖區(qū)的大小為1KB。或response.setBufferSize(1);
設(shè)置輸出緩沖區(qū)的大小為0,即不緩沖。或response.setBufferSize(0);
用response.getBufferSize()或out.getBufferSize()可取的輸出緩沖區(qū)的大小,單位為字節(jié).用response.isCommitted()可檢查看服務(wù)端是否已將數(shù)據(jù)輸出到客戶端.如果返回值是TRUE則已將數(shù)據(jù)輸出到客戶端,是FALSE則還沒有.三、服務(wù)端輸出重定向
有以下3種方法可以做到輸出重定向:
RESpONSE.SETREDERECT(“URL”)該方法通過修改HTTp協(xié)議的HEADER部分,對(duì)瀏覽器下達(dá)重定向指令的,使瀏覽器顯示重定向網(wǎng)頁(yè)的內(nèi)容.response.sendRedirect(“http://localhost:7001/index.html”);
下面的方法也能改變HTTpHEADER屬性,它的原理和1是一樣的.<%
response.setStatus(HttpServletResponse.SC_MOVED_pERMANENTLY);
StringnewLocn=“/index.html”;
response.setHeader(“Location”,newLocn);
%>
采用
(1)
<%@pagebuffer=“1kb”%>
<%
longi=0;
for(i=0;i<10;i++)
{
out.println(“@@@@@@@@@@@@@@@@@”);
}
%>
(2)
<%@pagebuffer=“1kb”%>
<%
longi=0;
for(i=0;i<600;i++)
{
out.println(“@@@@@@@@@@@@@@@@@”);
}
%>
說明:
1.方法(1),(2)可以使用變量表示重定向的地址;方法(3)不能使用變量表示重定向的地址。
Stringadd=“./index.html”;
無法重定向到index.html中去
Stringadd=http://localhost:7001/index.html
response.sendRedirect(add);
可以重定向到http://localhost:7001/index.html中去。
2.采用方法(1),(2)request中的變量(通過request.setAttribute()保存到request中的值)不能在新的頁(yè)面中采用,采用方法(3)能.綜上,我們應(yīng)該采用(1),(2)重定向比較好.四、JSp基本配置:
第一步:下載j2sdk和tomcat:到sun官方站點(diǎn)(http://java.sun.com/j2se/1.4.2/download.html)下載j2sdk,注意下載版本為WindowsOfflineInstallation的SDK,同時(shí)最好下載J2SE1.4.2Documentation,然后到tomcat官方站點(diǎn)(http://;charset=gb2312“ %>
<% Class.forName(”com.microsoft.jdbc.sqlserver.SQLServerDriver“).newInstance();
String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs“;
//pubs 為你的數(shù)據(jù)庫(kù)的String user=”sa“;
String password=”admin“;Statementstmt;
Connection conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement(ResultSet.TYpE_SCROLL_SENSITIVE,ResultSet.CONCUR_UpDATABLE);
String sql=”select job_id,job_desc from jobs“;
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){ %>
您的第一個(gè)字段內(nèi)容為:<%=rs.getString(1)%>
您的第二個(gè)字段內(nèi)容為:<%=rs.getString(2)%>
<% } %>
<% out.print(”數(shù)據(jù)庫(kù)操作成功,恭喜你“);%>
<% rs.close();
stmt.close();
conn.close();
%>
將上面的JSp代碼保存為sql_test.jsp,放在/Root目錄下。
Servlet/JSp配置詳解
首先下載驅(qū)動(dòng)程序:
然后就是安裝JDK,我是把它裝到從c:JDK目錄下面。
然后設(shè)置CLASSpATH的問題了:
正如操作系統(tǒng)利用pATH來搜索可執(zhí)行程序一樣,Java運(yùn)行環(huán)境也會(huì)遍歷CLASSpATH來查找類,即便是HelloWorld這樣簡(jiǎn)單的程序,JVM也會(huì)遍歷CLASSpATH定義的每一個(gè)路徑,直到找到相應(yīng)的文件為止。
相信大家用的系統(tǒng)不是2k就是Xp,然后就應(yīng)當(dāng)如下設(shè)置path:
我的電腦->屬性->高級(jí)->環(huán)境變量
然后在環(huán)境變量的path后面追加:C:JDKbin;.;C:JDKlib
也可以這樣配置:C:JDKbin;.;C:JDKlibdt.jar;C:JDKlibtools.jar
★記住:環(huán)境變量中的.切記不能少,它表示當(dāng)前路徑,如果少掉出現(xiàn)的錯(cuò)誤等會(huì)就說!
dt.jar是關(guān)于運(yùn)行環(huán)境的類庫(kù),tools.jar是關(guān)于一些工具的類庫(kù)
如果沒有配置:C:JDKbin,則會(huì)出現(xiàn)“javac?不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。”這樣的錯(cuò)誤。
下面我們就寫一個(gè)示例程序:
打開Editplus,新建一個(gè)Java文件,請(qǐng)照著如下輸入,要一字不漏,并且分清大小寫:
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println(”Hello,World!“);
}
}
然后把這個(gè)文件保存(ctrl+s)到HelloWorld.java,Java是分大小寫的,所以大小寫一定要分清,是HelloWorld.java不是helloworld.java或者其他。
運(yùn)行:開始->運(yùn)行->cmd
在控制臺(tái)中把目錄切換到當(dāng)前目錄:
javacHelloWorld.java
javaHelloWorld
你就會(huì)在控制臺(tái)上看見輸出的Hello,World!
javac是編譯命令,它把HelloWorld.java編譯成HelloWorld.class
java就是解釋命令,JVM把HelloWorld.class解釋執(zhí)行.在這個(gè)時(shí)候:
1、如果出現(xiàn)Exceptioninthread”main“java.lang.NoClassDefFoundError:HelloWorld
那就是你在環(huán)境變量中沒有加上那個(gè).(dot)
2、如果出現(xiàn)Exceptioninthread”main“java.lang.NoSuchMethodError:main
或者HelloWorld.java:1:publicclasshelloworldmustbedefinedinafilecalled
”HelloWorld.java“.那就是你沒有分清大小寫的寫入這個(gè)HelloWorld,或者保存得時(shí)候沒有保存為HelloWorld.java。這個(gè)名字一定要跟publicclass的名字一樣
對(duì)于環(huán)境變量的問題就說到這里,下面我先所說怎么在Editplus里面編譯和運(yùn)行,在Tools->參數(shù)設(shè)置->配置用戶工具
1.添加工具(添加應(yīng)用程序)
菜單文字:CompileJavaprogram
程序:C:JDKbinjavac.exe
參數(shù):文件名稱
初始目錄:文件目錄
2.添加工具(添加應(yīng)用程序)
菜單文字:RunJavaprogram
程序:C:JDKbinjava.exe
參數(shù):文件名稱(不含擴(kuò)展名)
初始目錄:文件目錄
工具組名稱可以隨便添,比如DebugJavaprogram。
然后在Tools的下拉菜單中,你就會(huì)看見CompileJavaprogram以及RunJavaprogram這兩個(gè)選項(xiàng),以后你就可以利用ctrl+1編譯和ctrl+2運(yùn)行程序了
下面我們討論Servlet的運(yùn)行環(huán)境:
要運(yùn)行Servlet,則需要JSp/Servletcontainer,我用Tomcat。
http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/jakarta-tomcat-5-bin-20030725.zip
然后把這個(gè)壓縮包解壓到:
C:Tomcat
然后再配置環(huán)境變量;添加三個(gè)系統(tǒng)變量:
JAVA_HOME:C:JDK
TOMCAT_HOME:C:Tomcat
CLASSpATH:%JAVA_HOME%lib;%TOMCAT_HOME%lib
Tomcat的環(huán)境變量就配置完畢了,下面檢驗(yàn)Tomcat是否能夠運(yùn)行:
在控制臺(tái)中轉(zhuǎn)到C:Tomcatbin這個(gè)目錄,運(yùn)行startup,然后回出現(xiàn)一個(gè)窗口,連跳一大串東西,最后表示Server已經(jīng)運(yùn)行。
在瀏覽器中輸入http://localhost:8080,出現(xiàn)歡迎界面,則表示Tomcat沒問題了。然后和上面一樣,寫入你的第一個(gè)Servlet。
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassHelloWorldextendsHttpServlet
{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException
{
response.setContentType(”text/html“);
printWriterout=response.getWriter();
out.println(”<html><head><title>“);
out.println(”ThisismyfirstServlet“);
out.println(”</title></head><body>“);
out.println(”<h1>Hello,World!</h1>“);
out.println(”</body></html>");
}
}
然后照樣用javacHelloWorld.java來編譯這個(gè)文件,如果出現(xiàn)無法importjavax.servlet.*
那么就是應(yīng)該把C:Tomcatcommonlib里面的servlet.jar文件拷貝到C:JDKjrelibext中,再次編譯,就沒有問題了!
然后在Tomcat目錄里面的C:TomcatwebappsROOT里面按如下的文件結(jié)構(gòu):
ROOTindex.html
ROOTwelcom.jsp
ROOTWEB-INFlibMyServlet.jar(如果你的servlet的.class打成了.jar文件,則放在lib下面)
ROOTWEB-INFclassesHelloWorld.class(把上面生成的HelloWorld.class文件放在這個(gè)里面)
然后在瀏覽器中輸入http://localhost:8080/servlet/HelloWorld,于是Server眾望所歸的報(bào)錯(cuò)了:Error404--NotFound
出不來,然后繼續(xù)弄下面的Servlet必須使用C:TomcatwebappsROOTWEB-INF這個(gè)目錄下面的web.xml文件進(jìn)行注冊(cè),用Ep打開這個(gè)web.xml文件,在里面加入:
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/helloworld</url-pattern>
</servlet-mapping>
這樣的結(jié)構(gòu)
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
表示指定包含的servlet類。而以下的結(jié)構(gòu):
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>
表示指定HelloServlet應(yīng)當(dāng)映射到哪一種URL模式。
在修改web.xml完畢過后,重新啟動(dòng)Server,然后再輸入http://localhost:8080/servlet/HelloWorld,那么偌大一個(gè)Hello,World!等著你呢。
六、JSp和Servlet的區(qū)別:
SUN首先發(fā)展出SERVLET,其功能比較強(qiáng)勁,體系設(shè)計(jì)也很先進(jìn),只是,它輸出HTML語句還是采用了老的CGI方式,是一句一句輸出,所以,編寫和修改HTML非常不方便。后來SUN推出了類似于ASp的JSp,把JAVA代碼嵌套到HTML語句中,這樣,就大大簡(jiǎn)化和方便了網(wǎng)頁(yè)的設(shè)計(jì)和修改。ASp,pHp,JSp都是嵌套型的SCRIpT語言。一個(gè)分布式系統(tǒng)應(yīng)分為三層:表示層,業(yè)務(wù)邏輯層,數(shù)據(jù)存取層,在J2EE體系結(jié)構(gòu)中,SERVLET用來寫業(yè)務(wù)邏輯層是很強(qiáng)大的,但是對(duì)于寫表示層就很不方便。JSp則主要是為了方便寫表示層而設(shè)計(jì)的。ENTITYBEAN實(shí)現(xiàn)數(shù)據(jù)存取層,SESSIONBEAN實(shí)現(xiàn)業(yè)務(wù)邏輯層。如果是簡(jiǎn)單的應(yīng)用系統(tǒng),可采用JSp+BEANS的結(jié)構(gòu)進(jìn)行設(shè)計(jì),JSp中應(yīng)該僅僅存放與表示層有關(guān)的東西,也就是說,只放輸出HTML網(wǎng)頁(yè)的部份。而所有的數(shù)據(jù)計(jì)算,數(shù)據(jù)分析,數(shù)據(jù)庫(kù)聯(lián)結(jié)處理,統(tǒng)統(tǒng)是屬于業(yè)務(wù)邏輯層,應(yīng)該放在JAVABEANS中。通過JSp調(diào)用JAVABEANS,實(shí)現(xiàn)兩層的整合。實(shí)際上,微軟的DNA技術(shù),簡(jiǎn)單說,就是ASp+COM/DCOM技術(shù)。與JSp+BEANS完全類似,所有的表示層由ASp完成,所有的業(yè)務(wù)邏輯由COM/DCOM完成。為什么要采用這些組件技術(shù)呢?因?yàn)閱渭兊腁Sp/JSp語言是非常低效率執(zhí)行的,如果出現(xiàn)大量用戶點(diǎn)擊,純SCRIpT語言很快就到達(dá)了他的功能上限,而組件技術(shù)就能大幅度提高功能上限,加快執(zhí)行速度。另外一方面,純SCRIpT語言將表示層和業(yè)務(wù)邏輯層混在一起,造成修改不方便,并且代碼不能重復(fù)利用,采用組件技術(shù)就只改組件就可以了。對(duì)于復(fù)雜的應(yīng)用,應(yīng)該采用ENTITYBEAN實(shí)現(xiàn)數(shù)據(jù)存取層,SESSIONBEAN實(shí)現(xiàn)業(yè)務(wù)邏輯層,用JSp來調(diào)用SESSIONBEAN,由SESSIONBEAN調(diào)用ENTITYBEAN。即采用JSp+EJB來構(gòu)建一個(gè)復(fù)雜的分布式系統(tǒng)。它比JSp+BEAN具有更高的吞吐量,可靠性,安全性。綜上所述,對(duì)簡(jiǎn)單應(yīng)用,可采用JSp+BAEN,對(duì)復(fù)雜的應(yīng)用系統(tǒng),應(yīng)采用JSp+EJB,SERVLET變的無足輕重。用JSp完全可替代它。
實(shí)習(xí)心得:
JSp是一門新技術(shù),他基于JavaServlet以及整個(gè)java體系的Web開發(fā)技術(shù)。從網(wǎng)上得知Java的中文問題歷史悠久,連綿不絕,至今也沒有完全解決,但是上有政策下有對(duì)策,我們總是有辦法搞定它的。跟Java相關(guān)的中文問題主要有兩類,一類是編程的問題,涉及到I/O,內(nèi)碼轉(zhuǎn)換等。第二類是Java運(yùn)行環(huán)境的配置,涉及字體,屬性配置等。覺得很有必要給自己寫個(gè)備忘錄之類的。
學(xué)習(xí)了JSp,感觸很深,這一技術(shù)是需要有一定基礎(chǔ)、而且動(dòng)手能力強(qiáng)的學(xué)科。書上也強(qiáng)調(diào)一點(diǎn)是:要想真正地掌握J(rèn)Sp技術(shù),必須有較好的java語言基礎(chǔ),以及HTML語言方面的知識(shí)。想想的確對(duì)啊。
通過一周的實(shí)習(xí)JSp,這個(gè)實(shí)習(xí),使我初步掌握和了解了JSp的基本運(yùn)行原理、各個(gè)對(duì)象的結(jié)構(gòu)和功能、怎樣連接數(shù)據(jù)庫(kù)、能自己手動(dòng)寫code開發(fā)一些小網(wǎng)頁(yè)。并且,自己能夠組建一臺(tái)JSp服務(wù)器,而且還了解了安裝過程中,所要注意的事項(xiàng)。對(duì)于一些簡(jiǎn)單的小問題,能夠自己動(dòng)手排除。
我個(gè)人認(rèn)為,這次實(shí)習(xí)對(duì)于我是非常有意義的,對(duì)我個(gè)人的影響比較大,對(duì)我的成長(zhǎng)更有莫大的幫助。
第三篇:jsp實(shí)習(xí)報(bào)告
新疆農(nóng)業(yè)職業(yè)技術(shù)學(xué)院
《Java程序設(shè)計(jì)》 教學(xué)實(shí)習(xí)報(bào)告
部 門:軟件技術(shù)學(xué)院 專 業(yè):計(jì)算機(jī)網(wǎng)絡(luò)技術(shù) 班 級(jí):2007高職網(wǎng)絡(luò) 姓 名:張 博 指導(dǎo)教師:李 欣
《JAVA程序設(shè)計(jì)》教學(xué)實(shí)習(xí)報(bào)告
一、實(shí)習(xí)時(shí)間:
2009 年 5 月 14日至 2009 年 5月 20 日
二、實(shí)習(xí)地點(diǎn):第2微機(jī)室
三、實(shí)習(xí)目的
1、掌握搭建Java開發(fā)環(huán)境的方法;
2、通過團(tuán)隊(duì)合作,提高溝通、交流能力,培養(yǎng)團(tuán)隊(duì)合作精神;
3、嚴(yán)格按照J(rèn)ava語言編寫規(guī)約編寫代碼,養(yǎng)成遵守規(guī)約的習(xí)慣,增強(qiáng)編碼質(zhì)量的意識(shí);
4、教師面向?qū)ο蟪绦驅(qū)嵗钠饰觯约皩?shí)際操作,理解面向?qū)ο缶幊痰睦砟睿⑹炀毦帉懗绦颍?/p>
5、掌握J(rèn)ava程序的調(diào)試方法;
四、實(shí)習(xí)內(nèi)容及方法
實(shí)訓(xùn)一
相關(guān)環(huán)境搭建
實(shí)驗(yàn)?zāi)康?/p>
1、熟悉JDK開發(fā)環(huán)境。
2、熟悉JCreator編輯器的使用。實(shí)驗(yàn)內(nèi)容
1、JDK開發(fā)環(huán)境及安裝
第一步:下載。從學(xué)校網(wǎng)站上找:ftp://10.1.1.16 選擇編程軟件中Java。第二步:安裝jdk。
第三步:安裝好后,選擇“開始”→“運(yùn)行?”命令,在打開的“運(yùn)行”窗口中輸入“cmd”命令并“確定”。在打開的命令行窗口中,分別執(zhí)行java和javac命令。如下圖所表示
第四步:查看操作系統(tǒng)環(huán)境變量。選擇“我的電腦”的“屬性”,選擇“高級(jí)”中的“環(huán)境變量”。
第五步:設(shè)置環(huán)境變量及path環(huán)境變量的作用和設(shè)置。
編輯源文件
import java.io.*;public class HelloWorld1{ public static void main(String arg[]){ System.out.println(“Hello World!”);}} 輸出結(jié)果 實(shí)訓(xùn)分析總結(jié)
什么是Java虛擬機(jī)?它的作用是什么?
Java虛擬機(jī)是一個(gè)想象中的機(jī)器,在實(shí)際的計(jì)算機(jī)上通過軟件模擬來實(shí)現(xiàn)。Java虛擬機(jī)有自己想象中的硬件,如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。
作用:運(yùn)行JAVA applet 小程序,沒了它,好多網(wǎng)站的功能無法使用,因?yàn)楝F(xiàn)在很多服務(wù)是通過它實(shí)現(xiàn)的。JAVA不編譯,他的字節(jié)碼要靠虛擬機(jī)才能運(yùn)行。
實(shí)訓(xùn)二 Java基礎(chǔ)-控制語句使用實(shí)例
實(shí)訓(xùn)目的:
1、掌握J(rèn)ava語言中的三種基本的流程控制
2、理解數(shù)組的概念,數(shù)組的定義方法,數(shù)組的應(yīng)用。實(shí)訓(xùn)內(nèi)容:
1、隨機(jī)輸入3個(gè)數(shù),要求按降序排列。
import java.util.*;導(dǎo)入包 public class bidaxiao{ public static void main(String[] args){ int length = 3;int [] ints = new int[length];Scanner san = new Scanner(System.in);for(int i = 0;i < length;i ++){ System.out.print(“請(qǐng)輸入第” +(i + 1)+ “個(gè)數(shù): ”);ints[i] = san.nextInt();} Arrays.sort(ints);System.out.println(“這” +length +“個(gè)數(shù)從大到小的排列順序?yàn)? ”);for(int i = length-1;i >= 0;i--){ System.out.print(ints[i] + “ ”);} } } 輸出結(jié)果:
2、編寫程序,用循環(huán)語句列出1到10的階乘值。
public class A{ public static void main(String args[]){
int i;long A=1;
for(i=1;i<=10;i++){ A*=i;
System.out.println(“!”+A);}}} 輸出結(jié)果:
3、編寫程序顯示一年的月份。月份要保存在數(shù)組中。
public class year{ public static void main(String args[]){ int[] a=new int[12];for(int i =1;i<=12;i++){
System.out.println(“一年的第”+i+“個(gè)月是”+i+“月”);} } } 輸出結(jié)果:
4、定義一個(gè)二維數(shù)組,從鍵盤輸入數(shù)據(jù),要求求出最大值元素、最小值元素。
public class MaxArray { public static void main(String[] args){ int a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}};int max=0;int min=0;for(int i=0;i 實(shí)訓(xùn)分析總結(jié): 1、三種循環(huán)語句的數(shù)據(jù)流程圖如何執(zhí)行? do-while 流程圖 for 流程圖 while 流程圖 2、三種循環(huán)語句的語法格式。while循環(huán)語句的語法格式: [initialization] while(loop-condition){ body;[iteration;]} for 循環(huán)語句的語法格式: for([initialization];[loop-condition];[iteration;]){ body;} 3、什么是數(shù)組?數(shù)組的定義形式? 數(shù)組是由相同的數(shù)據(jù)類型數(shù)據(jù)按順序組成的數(shù)據(jù)集合。數(shù)組的定義形式: 一維數(shù)組:type arrayName[ ] 或者 type[ ] arrayName 二維數(shù)組:type arrayName[ ][ ] 或者 type[ ][ ] arrayName 實(shí)訓(xùn)三 類的封裝、繼承與多態(tài)性 實(shí)訓(xùn)目的: 1、理解類、封裝、繼承多態(tài)的概念和類的對(duì)象的創(chuàng)建和使用。 2、理解方法的概念,方法的調(diào)用,參數(shù)的傳遞。 3、熟練掌握類的繼承。實(shí)訓(xùn)內(nèi)容: 1、編寫程序,給定圓的半徑和高度,計(jì)算圓柱體的體積,利用引用對(duì)象方法的形式表示。 import java.io.*;class tj{ private double r;private double h;public tj(double r,double h){ if(r>0)this.r=r;if(h>0)this.h=h;} public boolean setr(double r){ if(r>0){ this.r=r;return true;} else return false;} public double getr(){ return r;} public boolean seth(double h){ if(h>0){ return true;} else return false;} public double geth(){ return h;} public double tj(){ return 3.14*r*r*h;} public static void main(String args[])throws IOException{ BufferedReaderin=new BufferedReader(new InputStreamReader(System.in));System.out.println(“請(qǐng)輸入圓的半徑:”);double r=Double.parseDouble(in.readLine());System.out.println(“請(qǐng)輸入圓柱的高:”);double h=Double.parseDouble(in.readLine());tj v=new tj(r,h);System.out.println(“圓柱的半徑為:”+v.getr()+“t高為:”+v.geth());System.out.println(“圓柱的體積為:”+v.tj());} } 2、試設(shè)計(jì)一個(gè)Calculator類,并完成下列的各方法的程序設(shè)計(jì): 定義add(a,b)方法,用來計(jì)算兩數(shù)之和。定義mul(a,b)方法,用來計(jì)算兩數(shù)的乘積。定義sub(a,b)方法,用來計(jì)算兩數(shù)之差。定義div(a,b)方法,用來計(jì)算a/b。 import java.io.*;class Calculator{ private double a;private double b;public Calculator(double a,double b){ if(a>0)this.a=a;if(b>0)this.b=b;} public boolean seta(double a){ if(a>0){ this.a=a;return true;} else return false;} public double geta(){ return a;} public boolean setb(double b){ if(b>0){return true;} else return false;} public double getb(){ return b;} public double add(){ return a+b;} public double mul(){ return a*b;} public double sub(){ return a-b;} public double div(){ return a/b;} public static void main(String args[])throws IOException{ BufferedReaderin=newBufferedReader(new InputStreamReader(System.in));System.out.println(“請(qǐng)輸入a的值:”);double a=Double.parseDouble(in.readLine());System.out.println(“請(qǐng)輸入b的值:”);double b=Double.parseDouble(in.readLine());Calculator c=new Calculator(a,b);//System.out.println(“"+c.geta()+”t“+c.getb());System.out.println(”a,b的和:“+c.add());System.out.println(”a,b的積:“+c.mul());System.out.println(”a,b的差:“+c.sub());System.out.println(”a,b的商:“+c.div());} } 輸出結(jié)果 3、請(qǐng)逐步完成下列的程序設(shè)計(jì): (a)、設(shè)計(jì)一個(gè)父類Caaa,內(nèi)含public兩個(gè)整數(shù)數(shù)據(jù)成員。 (b)、設(shè)計(jì)一個(gè)子類Cbbb,繼承自Caaa類,并加入set_num()方法,可用來賦值從父類繼承而來的成員num1,num2,和show()方法,用來顯示num1與num2的值。 (c)、在Caaa類里加入一個(gè)沒有參數(shù)的構(gòu)造函數(shù)Caaa(),它可用來把num1和num2賦值初值為1。 (d)、在類里加入另一個(gè)有參數(shù)的構(gòu)造函數(shù)Caaa(int a,int b),它可用來把num1賦值為a,把num2賦值為b。 (e)、在main()方法里編寫程序代碼,測(cè)試(c)和(d)的結(jié)果。不帶參數(shù) class Caaa{ public int num1;public int num2;public Caaa(){ } public void setnum1(int num1){this.num1=num1;} public int getnum1(){return num1;} public void setnum2(int num2){this.num2=num2;} public int getnum2(){return num2;} public void printOtherInfo(){ System.out.print(”num1=“+num1);System.out.print(”tnum2=“+num2);System.out.println();}} class Cbbb extends Caaa{ } class Cbbbtest{ public static void main(String agrs[]){ Cbbb b=new Cbbb();b.setnum1(1);b.setnum2(1);b.printOtherInfo();}} 輸出結(jié)果 帶參數(shù)的 class Caaa { public int num1;public int num2;} class Cbbb extends Caaa { void set_num(int a,int b){ num1=a;num2=b;} void show(){ System.out.println(”num1=“+num1+”,“+”num2=“+num2);} } class app { public static void main(String args[]){ Cbbb bb=new Cbbb();bb.set_num(5,10);bb.show();} } 輸出結(jié)果 4、設(shè)計(jì)一個(gè)類,內(nèi)含一個(gè)方法可以判別輸入的值為奇數(shù)還是偶數(shù),如果為奇數(shù)就輸出“此數(shù)為奇數(shù)”,反之若為偶數(shù)就輸出“此數(shù)為偶數(shù)”。 import java.io.*;public class jo{private int a;public jo(int a){if(a>0)this.a=a;} public boolean seta(int a){ if(a>0){this.a=a;return true;} else return false;} public double geta(){ return a;} public static void main(String args[])throws IOException{ BufferedReaderin=new BufferedReader(new InputStreamReader(System.in));System.out.println(”請(qǐng)輸入a的值:“);double a=Double.parseDouble(in.readLine());if(a%2==1){ System.out.println(”此數(shù)為奇數(shù)“);} else{ System.out.println(”此數(shù)為偶數(shù)“);} }} 輸出結(jié)果 實(shí)訓(xùn)分析總結(jié): 1、什么是類?請(qǐng)寫出定義類的格式。 2、如何創(chuàng)建一個(gè)類和該類的對(duì)象? 1、什么是類?寫出定義類的格式,如何創(chuàng)建類的對(duì)象? 類是組成java程序的基本元素,一個(gè)java程序由若干個(gè)類組成。Java中使用關(guān)鍵字class聲明一個(gè)類,大括號(hào)用來指出類體的開始和結(jié)束。創(chuàng)建類:class Student{ 創(chuàng)建類的對(duì)象: //類的成員變量聲明 Student studeng=new Student //類的方法聲明} 2、類的成員變量和方法? 類的成員變量用來描述對(duì)象的狀態(tài),也稱為屬性、數(shù)據(jù)或域。類的方法是用來描述對(duì)象的行為。 3、什么是繼承?什么是封裝? 像大客車和小轎車與車類之間存在的關(guān)系為繼承 封裝是指信息與實(shí)現(xiàn)細(xì)節(jié)的隱藏。 實(shí)訓(xùn)四 簡(jiǎn)單計(jì)算器模擬 實(shí)訓(xùn)目的: 1、熟練掌握?qǐng)D形用戶界面的設(shè)計(jì)和各組件的應(yīng)用 2、能夠處理一般事件的響應(yīng) 實(shí)訓(xùn)內(nèi)容: 1、設(shè)計(jì)一個(gè)窗口,內(nèi)含一個(gè)按鈕,當(dāng)按下此按鈕的時(shí)候,窗口的顏色會(huì)從原來的白色變成其他你所設(shè)置的顏色。 import java.awt.Button;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.Panel;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;public class button extends MouseAdapter { Frame f = new Frame();Panel P1 = new Panel();Button b1 = new Button(”綠色“);public static void main(String args[]){ button ct = new button();ct.init();} public void init(){ f.setLayout(new FlowLayout());f.add(b1);P1.setBackground(Color.red);P1.setVisible(true);b1.addMouseListener(this);f.setSize(200, 150);f.setVisible(true);} public void mousePressed(MouseEvent e2){ if(e2.getSource()== b1){ f.setBackground(Color.green);} } } 2、設(shè)計(jì)一個(gè)包含有文本框和標(biāo)簽的窗口,在文本框中輸入一段文字,按回車后,將該段文字內(nèi)容加入到標(biāo)簽中顯示。 import java.awt.GridLayout;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class zhuanhuan { public static void main(String[] args){ JFrame jf=new JFrame();JPanel jp=new JPanel();final JLabel jl=new JLabel();final JTextField jtf=new JTextField();jf.add(jp);jp.setLayout(new GridLayout(2,1));jp.add(jl);jp.add(jtf);jtf.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){ if(e.getKeyCode()==KeyEvent.VK_ENTER){ jl.setText(jtf.getText());} } });jf.setSize(144,144);jf.setVisible(true);} } 輸出結(jié)果 3、學(xué)生注冊(cè)系統(tǒng) import java.util.*;//導(dǎo)入工具包 import java.awt.*;//導(dǎo)入抽象窗口工具包 import java.awt.event.*;//導(dǎo)入軟件包 import javax.swing.*;//導(dǎo)入輕量級(jí)的工具包 import java.io.*;//導(dǎo)入軟件包 class 學(xué)生 extends Panel { class ShowWin extends JFrame implements ActionListener{ LinkedList students_list=null;JTextField 學(xué)號(hào)文本框=new JTextField(), 姓名文本框=new JTextField(), 年齡文本框=new JTextField(), //創(chuàng)建新實(shí)例 班級(jí)文本框=new JTextField(), 刪除文本框=new JTextField();JButton b_add=new JButton(”添加學(xué)生“), b_del=new JButton(”刪除學(xué)生“), b_show=new JButton(”顯示學(xué)生名單“);JTextArea 顯示區(qū)=new JTextArea();students_list=new LinkedList();JPanel save=new JPanel();save.setLayout(new GridLayout(5,2));save.add(new Label(”輸入學(xué)號(hào):“));save.add(學(xué)號(hào)文本框);//添加文本內(nèi)容 save.add(new Label(”點(diǎn)擊添加:“));save.add(b_add);JPanel del=new JPanel();del.setLayout(new GridLayout(2,2));//刪除文本內(nèi)容 del.add(new Label(”輸入刪除的學(xué)號(hào):“));del.add(刪除文本框);del.add(new Label(”點(diǎn)擊刪除:“));del.add(b_del);JPanel show=new JPanel();show.setLayout(new BorderLayout());show.add(pane,BorderLayout.CENTER);show.add(b_show,BorderLayout.SOUTH);//顯示添加的商品清單 JSplitPane split_one,split_two;split_one=new JSplitPane(JSplitPane.VERTICAL_SPLIT,save,del);split_two=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,split_one,show);con.add(split_two,BorderLayout.CENTER);b_show.addActionListener(this);} public void actionPerformed(ActionEvent e){ if(e.getSource()==b_add){ String xuehao=null;String xingming=null;String nianling=null;String banji=null;banji=班級(jí)文本框.getText();學(xué)生 students=new 學(xué)生(xuehao,xingming,nianling,banji);students_list.add(students);try{ FileOutputStream file=new FileOutputStream(”students.txt“);ObjectOutputStream out=new ObjectOutputStream(file);out.writeObject(students_list);out.close();} catch(IOException event){} } else if(e.getSource()==b_del){ String xuehao=刪除文本框.getText();try{ FileInputStream come_in=new FileInputStream(”students.txt“);ObjectInputStream in=new ObjectInputStream(come_in);students_list=(LinkedList)in.readObject();in.close();} catch(ClassNotFoundException event){} catch(IOException event){} for(int i=0;i win.setVisible(true);//設(shè)置屬性(trun 顯示,false隱藏) win.addWindowListener(new WindowAdapter()//繼承WindowAdapter,然后又覆蓋 實(shí)訓(xùn)分析總結(jié): 1、布局管理器,它有什么用? JAVA是與平臺(tái)無關(guān)的,就是應(yīng)用程序的界面的大小,位置與硬件沒關(guān)系,與平臺(tái)無關(guān)就是說你不能通過setSize()這樣的方法去設(shè)置窗體中組件的大小。由此問題產(chǎn)生了。 當(dāng)一個(gè)窗體中有文本控件,又有標(biāo)簽,還有按鈕,這時(shí)你怎么控制它們?cè)诖绑w中的排列順序和位置呢,JAVA定義了布局管理器來處理這個(gè)問題 2、說明文本區(qū)和文本框的主要不同點(diǎn)。 文本區(qū):是用戶輸入、編輯、格式化、查看文本數(shù)據(jù)的區(qū)域。單擊鼠標(biāo)左鍵定位插入點(diǎn)。 文本框就是可以向其中輸入文字的框,比如百度。 實(shí)訓(xùn)五 擴(kuò)展—Java和JSP編寫要點(diǎn)練習(xí) 實(shí)訓(xùn)目的: 1、理解JSP 運(yùn)行環(huán)境要求。 2、掌握J(rèn)SP建立與測(cè)試開發(fā)環(huán)境的方法 3、了解j2ee 實(shí)訓(xùn)內(nèi)容: 1、鏈接到指定的email地址 在網(wǎng)站中,你經(jīng)常會(huì)看到“聯(lián)系我們”的鏈接,一點(diǎn)擊這個(gè)鏈接,就會(huì)觸發(fā)你的郵件客戶端,比如Outlook Express,然后顯示一個(gè)新建mail的窗口。用可以實(shí)現(xiàn)這樣的功能。 2、給定系統(tǒng)的自我學(xué)習(xí)后臺(tái)分析: 計(jì)算機(jī)圖書信息后臺(tái)維護(hù)系統(tǒng)分析 點(diǎn)擊刪除 點(diǎn)擊修改 它的路徑 路徑 http://localhost:8080/aaa/book/index.jsp http://localhost:8080/aaa/book/RequestAdd.jsp 實(shí)訓(xùn)分析總結(jié): 1、JSP文件的建立過程? 第一步 安裝JDK 第二步 安裝Tomcat 第三步 安裝Eclipse 第四步 安裝MyEclipse 第五步 破解MyEclipse 第六步 指定Eclipse+MyEclipse的JRE 和Tomcat 服務(wù)器 第七步 新建個(gè)項(xiàng)目來測(cè)試一下Eclipse+MyEclipse開發(fā)環(huán)境是否搭建成功 2、JSP的特點(diǎn)。 1.將內(nèi)容的生成和顯示進(jìn)行分離 2.強(qiáng)調(diào)可重用的組件 3.采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開發(fā) 五、結(jié)論 在為期一個(gè)星期的實(shí)習(xí)中,讓我收獲不少,并且發(fā)現(xiàn)自己存在的不足。通過這次實(shí)習(xí)我受益匪淺,知道JAVA的功能和使用方法以及編譯技術(shù),以前只知道玩手機(jī)中的小游戲,并不知道是用JAVA做出來的,現(xiàn)在實(shí)習(xí)也使自己掌握了JAVA技術(shù),也通過實(shí)習(xí)使我了解到我更多的不足,在做題時(shí)沒有一點(diǎn)點(diǎn)的思路,注意力不是很集中,在每項(xiàng)實(shí)訓(xùn)中不是很認(rèn)真的聽講,在調(diào)試程序的時(shí)候,發(fā)現(xiàn)不了問題的根本原因,一個(gè)簡(jiǎn)單的程序少了那小小的一個(gè)標(biāo)點(diǎn)都不行,發(fā)現(xiàn)了自己粗心大意的一面。在以后會(huì)多加努力的。 六、致謝 通過這次實(shí)習(xí),我深感自己的不足,我對(duì)知識(shí)的渴望遠(yuǎn)遠(yuǎn)超過這些,我將努力學(xué)習(xí)知識(shí),取長(zhǎng)補(bǔ)短,為自己注入新鮮的血液。相信自己會(huì)在以后的實(shí)習(xí)工作中更加努力。 這次非常感謝老師在實(shí)習(xí)中對(duì)我們的指導(dǎo),我們有什么不懂的問題都是老師悉心教導(dǎo),不耐其煩的告知我們,和我們一起實(shí)習(xí),在這里向老師說聲,您辛苦了。也非常感謝同學(xué)在學(xué)習(xí)上給予我的幫助。感謝學(xué)校為我們安排的這次實(shí)習(xí)。 Jsp實(shí)習(xí)作業(yè) 一.實(shí)現(xiàn)兩個(gè)數(shù)求和 1.實(shí)現(xiàn)過程描述: 寫一個(gè)界面在這個(gè)界面中我們輸入要計(jì)算的兩個(gè)數(shù)據(jù),如果輸入錯(cuò)誤的話就是用清零來清除原來的數(shù)據(jù)然后在重新輸入,然后通過求和按鈕將數(shù)據(jù)提交到指定的界面也就是servlet中通過request.getParameter(“name”)來取得輸入的數(shù)據(jù)然后進(jìn)行類型的轉(zhuǎn)化在進(jìn)行求和最后將所求的和輸出到客戶端,這時(shí)是一個(gè)標(biāo)準(zhǔn)的html文檔,再通過瀏覽器將標(biāo)準(zhǔn)的html文檔轉(zhuǎn)化為一個(gè)可視化界面,也就是我們所看到的界面。 2.訪問過程: 上面寫的額這個(gè)也就是一個(gè)小的項(xiàng)目,所以我們想知道上面的提交的過程是怎么一回事,怎么把輸入的數(shù)據(jù)傳到servlet中,在WEB-INF 中我們要建立一個(gè)class文件夾lib文件夾和web.xml文件,其中classes文件夾中存放的是servlet被javac編譯器編譯后的.class文件在使用的過程中tomcat會(huì)調(diào)用這個(gè)文件的,而web.xml 中我們進(jìn)行配置就是將訪問的路勁進(jìn)行配置,通過這個(gè)配置找到前面的class文件并把提交的數(shù)據(jù)獲取進(jìn)行相應(yīng)的操作在輸出: 也就是執(zhí)行瀏覽器中輸入的地址:localhost:8080/first/test1.jsp; 3.實(shí)現(xiàn)代碼: (1)數(shù)據(jù)輸入提交代碼: <%@page language =“java” contentType=“text/html;chatset=GBK”%> 請(qǐng)輸入數(shù)據(jù): + 《JSP網(wǎng)站》實(shí)踐報(bào)告 專業(yè):信息與計(jì)算科學(xué) 班級(jí):信息 姓名:牟林 指導(dǎo)教師: **網(wǎng)頁(yè)開發(fā)(就業(yè)信息網(wǎng))0802 200X年XX月---- 摘要 在Internet飛速發(fā)展的今天,互聯(lián)網(wǎng)已成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,正以一種前所未有的沖擊力影響著人類的活動(dòng)。它在人們政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用。因此網(wǎng)站建設(shè)在Internet應(yīng)用上的地位顯而易見,它已成為政府。企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視。 這次所設(shè)計(jì)的課題正是互聯(lián)網(wǎng)與社會(huì)生活之間的緊密關(guān)系的體現(xiàn),現(xiàn)金的社會(huì),人們已經(jīng)離開不了網(wǎng)絡(luò),網(wǎng)絡(luò)已經(jīng)成為人與人之間交流的一種形式,它能夠把事情的復(fù)雜化轉(zhuǎn)為簡(jiǎn)單化,拜托了時(shí)間和空間的限制。本文是為消費(fèi)者提供一個(gè)網(wǎng)絡(luò)生活空間。通過該網(wǎng)頁(yè)展示了企業(yè)介紹、招聘信息、留言等一系列內(nèi)容的介紹。瀏覽者可以直接在網(wǎng)上申請(qǐng)應(yīng)聘。本文還介紹了網(wǎng)頁(yè)的結(jié)構(gòu)分析和具體功能實(shí)現(xiàn),網(wǎng)頁(yè)的界面和運(yùn)作方式。 關(guān)鍵詞: JavaBean、JSP、SQLServer2000、目錄 一.1.1 **的目標(biāo)和意義..............................1 二級(jí)標(biāo)題(標(biāo)題2)..........................1 1.1.1 二.2.1 三級(jí)標(biāo)題(標(biāo)題3)...........................1 目前國(guó)內(nèi)外相關(guān)工作情況............................1 二級(jí)標(biāo)題(標(biāo)題2)..........................1 2.1.1 三.3.1 三級(jí)標(biāo)題(標(biāo)題3)...........................1 **網(wǎng)頁(yè)的總體設(shè)計(jì).................................1 二級(jí)標(biāo)題(標(biāo)題2)..........................2 3.1.1 四.4.1 三級(jí)標(biāo)題(標(biāo)題3)...........................2 XX網(wǎng)頁(yè)的詳細(xì)規(guī)劃..............................2 二級(jí)標(biāo)題(標(biāo)題2)..........................2 4.1.1 五.5.1 三級(jí)標(biāo)題(標(biāo)題3)...........................2 測(cè)試....................................2 二級(jí)標(biāo)題(標(biāo)題2)..........................2 5.1.1 三級(jí)標(biāo)題(標(biāo)題3)...........................2 參考文獻(xiàn).................................3一.**的目標(biāo)和意義 本章內(nèi)容提示: 給出課題背景與意義 課題要研究什么?解決什么問題? 你所分擔(dān)工作的描述 對(duì)社會(huì)經(jīng)濟(jì)、科學(xué)(或?qū)W科)發(fā)展、技術(shù)進(jìn)步等有什么意義? 1.1 二級(jí)標(biāo)題(標(biāo)題2) 1.1.1 三級(jí)標(biāo)題(標(biāo)題3) 最多三級(jí)標(biāo)題,其它為正文。 二.目前國(guó)內(nèi)外相關(guān)工作情況 本章內(nèi)容提示: 現(xiàn)在有那些人在做與題目相關(guān)的研究工作? 運(yùn)用(采用)了什么樣的方法? 你對(duì)現(xiàn)有的開發(fā)工具(如html asp.net等)有什么樣的評(píng)價(jià)? 分析你所選用的開發(fā)工具的特點(diǎn)和優(yōu)勢(shì)。 目前的發(fā)展趨勢(shì)是什么? 2.1 二級(jí)標(biāo)題(標(biāo)題2) 2.1.1 三級(jí)標(biāo)題(標(biāo)題3) 最多三級(jí)標(biāo)題,其它為正文。 三.**網(wǎng)頁(yè)的總體設(shè)計(jì) 本章內(nèi)容提示: 整體方案設(shè)計(jì) 分析你所使用的技術(shù)。 畫出系統(tǒng)的功能圖等并進(jìn)行文字說明。 3.1 二級(jí)標(biāo)題(標(biāo)題2) 3.1.1 三級(jí)標(biāo)題(標(biāo)題3) 最多三級(jí)標(biāo)題,其它為正文。 四.XX網(wǎng)頁(yè)的詳細(xì)規(guī)劃 結(jié)合你所實(shí)現(xiàn)的功能,使用文字和代碼說明開發(fā)過程、開發(fā)的流程圖、界面等 4.1 二級(jí)標(biāo)題(標(biāo)題2) 4.1.1 三級(jí)標(biāo)題(標(biāo)題3) 最多三級(jí)標(biāo)題,其它為正文。 五.測(cè)試 本章內(nèi)容提示: 結(jié)果運(yùn)行界面說明測(cè)試結(jié)果。 5.1 二級(jí)標(biāo)題(標(biāo)題2) 5.1.1 三級(jí)標(biāo)題(標(biāo)題3) 最多三級(jí)標(biāo)題,其它為正文。 沈陽化工大學(xué)計(jì)算機(jī)學(xué)院實(shí)踐報(bào)告 JSP網(wǎng)站實(shí)踐參考文獻(xiàn) 在論文中引用其它文獻(xiàn)的內(nèi)容,都要列于此。 注意:論文內(nèi)容決不允許抄襲,但允許小部分(幾句話)的引用。 按引用文獻(xiàn)的順序,列于論文末。文獻(xiàn)是期刊時(shí),書寫格式為:“作者,文章題目,期刊名,年份,卷號(hào),期數(shù),頁(yè)碼。文獻(xiàn)是圖書時(shí),書寫格式為:作者,書名,出版單位,年月。 例:毛海軍,唐煥文.基于Agent的決策支持系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2001.37(15):12~13黃梯云.智能決策支持系統(tǒng)[M].北京:電子工業(yè)出版社,2001[美]Bruce Eckel著.京京工作室 譯.Java編程思想[M].北京:機(jī)械工業(yè)出版社,1999,4Corry, Mayfield, Cadman.COM/DCOM programming guide[M].Beijing, Tshinghua University Press,2000第四篇:JSP實(shí)習(xí)作業(yè)
兩個(gè)數(shù)求和
第五篇:《JSP網(wǎng)站》實(shí)踐報(bào)告模版