第一篇:java web 流程
但是現(xiàn)在我想可能不行了,今天公司突然有變,哎說起來我也真夠慘的,不講這些不高興的 事了.說點正經(jīng)的,今天我所寫的內(nèi)容可以對每個有志從事JAVA WEB開發(fā)程序員都有很大的 幫助,今天我會詳細地把學習JAVA WEB會用到的幾乎所以的知識塊,這些知識塊比較多,主要是給大家指明以后你可能會學到的知識有哪些,不過比較多,但是你們也不用擔心,慢慢的 學,也并不是所以的全部都要掌握,但是最起碼要有所了解。就拿自己而言吧,學習JAVAWEB開發(fā)順序是: 1.初學JAVA者學些C語言做基礎(chǔ) 2.網(wǎng)頁三劍客: DreamWeaver FireWorks(or PhotoShop)Flash ;
對于JAVA程序員來說上面的不一定非要學,但如果你想做一個JAVA WEB開發(fā)程序員你最少要會html語言,這是最基本的當然如果你會一些Div+Css樣式更好
3.數(shù)據(jù)庫(mysql,SQL Server,Oracle等等),這些數(shù)據(jù)庫中你至少要會一種數(shù)據(jù)庫,平時在學校的話一般都是用mysql or SQL Server,其原理基本相似,只要會一個其他的都差不多
4.linux操作系統(tǒng),如果學校不教的話,可以不學,等工作用到了再學習,但是如果學校教授這門課程并且你想成為一句JAVA開發(fā)工程師的話 那這門講你最好用心學一下,對以后的開發(fā)會起到一定的作用(如果你的公司是linux下開發(fā)java的話)
5.java這當然是相當重要的了,這是作為一個JAVAWEB開發(fā)程序員最基礎(chǔ)的部分,也就是說WEB開發(fā)的動態(tài)代碼都是用JAVA寫的,即使是框架也不例外。這是一門核心知識。比較受大眾喜歡的書籍:Thinking in Java(《JAVA 編程思想》)《,eclipse 從入門到精通》等等。(當然這兩個本書我都沒看過,嘿嘿...)
6.jsp包含內(nèi)容較多1> jsp語法知識2> javabean比較簡單些,不是很難學
3> servlet 主要是用來處理頁面?zhèn)鬟f信息與數(shù)據(jù)庫進行交互,可以返回一個頁面(jsp頁面編譯后最終也轉(zhuǎn)換成servlet)4> jdbc連接數(shù)據(jù)庫: 用jsp和數(shù)據(jù)庫連接5> jstl標簽標簽化頁面,使jsp頁面不再有動態(tài)代碼嵌入
6> EL表達式結(jié)合jstl使用,更加方便的使頁面標簽化7.javascript,對于一個優(yōu)秀的WEB開發(fā)程序員來講,其javascript應該相當不錯,javascript各種特效實在令人瞠目結(jié)舌
8.xml文件 其實這本不該拿出來單獨作為一個知識,不過以后也能用的到,主要是能會編寫簡單的xml 就行了,一定要注意其格式是什么樣子的 9.struts框架 View層 經(jīng)典的MVC框架,這也是struts經(jīng)久不衰的原因,現(xiàn)在很多人在使用的版本是1.x,不過現(xiàn)在已經(jīng)有新的版本2.0,添加了不少新的功能初學者可以先學1.x版本,學習完后再轉(zhuǎn)向2.0版本,其最主要的功能是頁面轉(zhuǎn)與參數(shù)傳遞2.0中增加了攔截器的功能
10.hibernate框架Model層 主要是對數(shù)據(jù)庫的操作,作為一種持久層,在數(shù)據(jù)庫使用方面相當優(yōu)勢
11.spring框架 Control 控制層,可以連接struts和hibernate,當然不用spring,struts也可以和hibernate,不管用了Spring更加方便管理
spring 是2006年剛推出的框架,相當紅火,但學起來也不是那么容易,底層主要是用java的反射機制寫的,還有什么動態(tài)代理
這些java的高級特性都是jdk 1.5以后才有的新特性,主要優(yōu)點是控制反轉(zhuǎn)和面向切面式編程,打破了一個類必須在實例化一個對象之后才能調(diào)用其方法和屬性的JAVA定律,也就是講想使用某個類的方法和屬性可以不用new生成一個對象
直接使用
12.DWR框架 ,也就是著名的Ajxa,無動態(tài)刷新頁面,全稱 異步javascript和xml應用:Google自動搜索建議,Google地圖,Gmail,等等等等太多了。。
目前我所學的知識已經(jīng)總結(jié)的差不多了,還有一些比較偏聽偏的知識我就不寫了,免得給大家?guī)砗芏嗖槐匾穆闊?,如果你能掌握這些,用這些知識做兩個比較像樣的網(wǎng)站再加上你有大?;虮究莆膽{,那么來講找工作一定不會一件很難的事。當然想掌握上面那些也不是一件容易的事。呵呵。上面的那些我也只會用用,真正實在地掌握我也不精,畢竟學習時間也不是很長。需要在以后的學習過程中慢慢學習以致掌握,好了今天我之所以寫這些是想給一些不明白JAVA WEB開發(fā)要學習什么知識的朋友指明一個方向,但愿你們能 有所收獲,到網(wǎng)上去找些資料吧。網(wǎng)上很多,一個一個的來慢慢學,不要灰心。相信你們能夠?qū)W好學透。。最后祝你們早日成功!以后有時間了我會再慢慢的詳細講一下每個部分有哪些重點要學。。如果還有什么問題的話也可以留言....我會抽時間來給你們解答的......
第二篇:javaweb課程設(shè)計
課程設(shè)計:基于Java Web的討論區(qū)BBS系統(tǒng)的設(shè)計與實現(xiàn)
本系統(tǒng)要求實現(xiàn)以下主要功能:
(1)登錄:提供用戶登錄系統(tǒng)的功能,需要輸入用戶名和密碼
(2)注冊:提供用戶注冊的功能,需要輸入用戶名、密碼、密碼確認、Email、QQ
(3)修改注冊信息:提供用戶修改注冊信息的功能,可以修改密碼、Email、QQ
(4)瀏覽討論區(qū):用戶登錄后就可以瀏覽系統(tǒng)中已存在的討論區(qū),用戶可以查看某討論
區(qū)的詳細信息,也可以進入該討論區(qū)瀏覽已發(fā)表的帖子,以及回帖
(5)創(chuàng)建討論區(qū):用戶可以創(chuàng)建討論區(qū),每個討論區(qū)包含一個名稱和順序號,每個討論
區(qū)的名稱在系統(tǒng)中是唯一的,順序號表示討論區(qū)在列表中的排序
(6)修改討論區(qū):提供討論區(qū)名稱和順序號的修改功能
(7)刪除討論區(qū):提供討論區(qū)刪除的功能,方便管理員進行討論區(qū)管理
(8)瀏覽帖子:用戶進入一個討論區(qū)后,可以看到帖子列表,包含帖子主題、作者、創(chuàng)
建時間、回復次數(shù),點擊一個帖子,可以查看該帖子的內(nèi)容和回帖
(9)創(chuàng)建帖子:用戶進入一個討論區(qū)后,可以選擇創(chuàng)建一個新帖子,需要輸入帖子標題
和內(nèi)容
(10)修改帖子:提供給管理員使用,修改帖子標題和內(nèi)容
(11)刪除帖子:提供給管理員使用,方便管理員進行帖子整理
(12)回復帖子:用戶在瀏覽帖子信息的時候,可以進行回復
第三篇:javaweb學習心得
學習心得
在寫心得之前總結(jié)下中級部分學習的內(nèi)容,我們的中級部分主要學習了html,css,javacript,xml,dtd/scheam,以及java ee 中的jsp,servlet,過濾器,監(jiān)聽器,JSTL,EL,jQuery,Ajax。
下面就各個模塊進行總結(jié):在學習html時,我是對這個沒太在意的,因為里面全部是標簽,沒有需要理解的內(nèi)容,全部是屬于識記的,所以在學習時相對輕松,對于html常用的標簽都是非常清楚的form中的十一種類型,常用的有text,password,hidden,submit,button,radio,checkbox,等其他的標簽如div,table,span,select都是重要的標簽.Css的學習:雖然說在標簽中也可以定義樣式,但是這么做看起來不是那么明智,我在學CSS時還是比較努力的,所有的樣式效果都測試過,并且寫了相應的案例,只是過了不到3個月就忘了一大半,很多時候都是查文檔才能寫出來的,雖然CSS對于我們來說不必要非常精通,但是我覺得掌握的東西越多,以后的工作就越輕松,所以在中級結(jié)束后也會去看看前面的筆記和案例。
Javascript:js 我認為是最重要的,甚至于超過servlet,jsp,在上課期間,講的內(nèi)容還是比較少的,就javascript中創(chuàng)建對象來說吧,應該只講過3中方法,雖然在一般的情況下是用不上的,但是我覺得還是有必要學習的,這樣有助于看懂別人寫的框架,在javascript這部分學習中講的最多的還是dom操作,不過我覺得用dom操作太繁瑣了,寫的代碼太多,而且效率看起來也不高,后面就是講的事件,事件也算是簡單的,只是對觸發(fā)的事件進行相應的響應。除了這些就是javascript流程控制,對象一些基本語法,這些和java類似,所以在上課時沒有講得太多。
Xml: Markup Language可擴展標記語言。它是由SGML(Standard Gerneralized Markup language)發(fā)展而來的,允許開發(fā)者自定標簽,可以將標簽和內(nèi)容有效的分離。在XML技術(shù)里,可以編寫一個文檔來約束XML文檔的書寫規(guī)范,稱之為XML約束。本文主要介紹DTD與Schema兩種約束,在這里學習了dtd,scheama,定義XML約束,這部分的學習是我感覺最累的一部分,DTD還算好,SCheama里面的內(nèi)容,現(xiàn)在都忘了,沒有任何記憶,只知道在XML約束中有著兩中方式,還好這些在剛開始工作時是用不上的,因此我也沒有用很多時間來學習。
Servlet:我覺得是比較簡單的,可能是因為它是java代碼,容易理解。首先講的是開發(fā)環(huán)境的配置,安裝tomcat,了解tomcat下的目錄,以及web工程下的目錄。后來是講了servlet的訪問方式,post和get的區(qū)別,處理中文亂碼是servlet中一個重要的知識點,幾乎每個項目都會遇到這個問題。主要亂碼有g(shù)et,post亂碼,是通過設(shè)置request或者response的編碼方式來實現(xiàn)的。Servlet間的跳轉(zhuǎn)方式有重定向和轉(zhuǎn)發(fā),對于重定向和轉(zhuǎn)發(fā)的區(qū)別,現(xiàn)在理解的很透徹了,重定向是不能獲取request中參數(shù),是客戶端的兩次請求,而轉(zhuǎn)發(fā)是服務器內(nèi)部跳轉(zhuǎn),不過,兩種在設(shè)置過濾器的情況下,都要通過過濾器才能跳轉(zhuǎn)。Servlet的生命周期是筆試的必考題,其實這是很簡單的,只需要理解,沒必要死記硬背的,session算是重要的知識點,很多數(shù)據(jù)都是存儲在內(nèi)存中,如購物車,用戶信息等,還可以對session設(shè)置生存時間。說到session就必須說說四種會話跟蹤技術(shù),cookie,URL重寫,表單域隱藏和session。
JSP:JSP實際上和servlet是一樣的,只不過兩者側(cè)重點不同,JSP的內(nèi)置對象和作用域大致是一樣的,JSP中還有動作,常用的有操作JavaBean的動作,頁面跳轉(zhuǎn)的動作,以及包含的動作。這里重點提到兩種包含的區(qū)別。在JSP還講過jstl和EL表達式,都是基礎(chǔ)的應用,不過寫自定義的標簽還是要有一定的java基礎(chǔ)的,我開始不太理解標簽的解析過程,后來看了幾個例子,發(fā)現(xiàn)自定義的已不是那么難。
jQuery:jQuery可以說是中級部分學的最好的,主要是它方便了,特別是選擇器,而且避免了一些瀏覽器的差異,所以在學習jQuery后,就再也不想用javascript來獲取元素了。不僅如此,jQuery中封裝的Ajax操作也是非常簡單,不需要自己封裝一個類,$.get和$.post 能夠省去很多麻煩,jQuery的監(jiān)聽事件也是很簡單,不需要在標簽中添加對應事件,可以動態(tài)的綁定事件。還有就是dom操作更是方便。我在學習完Ajax,json后就發(fā)現(xiàn),即使是沒有JSP,也能做出一個動態(tài)頁面出來,只是會存在效率問題。
總結(jié):雖然說這上面的知識大部分都掌握了,但是能否靈活運用才是重點,所以在今后的學習中多思考問題是否有多種解決方法。
第四篇:javaweb筆試題
(1)假設(shè)在helloapp應用中有一個hello.jsp,它的文件路徑如下:
%CATALINA_HOME%/webapps/helloapp/hello/hello.jsp c 那么在瀏覽器端訪問hello.jsp的URL是什么? 選項:
(A)http://localhost:8080/hello.jsp(B)http://localhost:8080/helloapp/hello.jsp(C)http://localhost:8080/helloapp/hello/hello.jsp
(2)假設(shè)在helloapp應用中有一個HelloServlet類,它位于org.javathinker包下,那么這個類的class文件應該放在什么目錄下?(2)選項:
(A)helloapp/HelloServlet.class(B)helloapp/WEB-INF/HelloServlet.class(C)helloapp/WEB-INF/classes/HelloServlet.class(D)helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class
(3)假設(shè)在helloapp應用中有一個HelloServlet類,它在web.xml文件中的配置如下:
那么在瀏覽器端訪問HelloServlet的URL是什么? 選項:
(A)http://localhost:8080/HelloServlet(B)http://localhost:8080/helloapp/HelloServlet(C)http://localhost:8080/helloapp/org/javathinker/hello(D)http://localhost:8080/helloapp/hello
(4)客戶請求訪問HTML頁面與訪問Servlet有什么異同? 選項:
(A)相同:都使用HTTP協(xié)議
(B)區(qū)別:前者Web服務器直接返回HTML頁面,后者Web服務器調(diào)用Servlet的方法,由Servlet動態(tài)生成HTML頁面
(C)相同:前者Web服務器直接返回HTML頁面,后者Web服務器直接返回Servlet的源代碼。(D)區(qū)別:后者需要在web.xml中配置URL路徑。(E)區(qū)別:前者使用HTTP協(xié)議,后者使用RMI協(xié)議。
(5)HttpServletRequest對象是由誰創(chuàng)建的? 選項:
(A)由Servlet容器負責創(chuàng)建,對于每個HTTP請求,Servlet容器都會創(chuàng)建一個HttpServletRequest對象
(B)由JavaWeb應用的Servlet或JSP組件負責創(chuàng)建,當Servlet或JSP組件響應HTTP請求時,先創(chuàng)建
HttpServletRequest對象
(6)從HTTP請求中,獲得請求參數(shù),應該調(diào)用哪個方法? 選項:
(A)調(diào)用HttpServletRequest對象的getAttribute()方法(B)調(diào)用ServletContext對象的getAttribute()方法(C)調(diào)用HttpServletRequest對象的getParameter()方法
(7)ServletContext對象是由誰創(chuàng)建的? 選項:
(A)由Servlet容器負責創(chuàng)建,對于每個HTTP請求,Servlet容器都會創(chuàng)建一個ServletContext對象(B)由JavaWeb應用本身負責為自己創(chuàng)建一個ServletContext對象
(C)由Servlet容器負責創(chuàng)建,對于每個JavaWeb應用,在啟動時,Servlet容器都會創(chuàng)建一個ServletContext對象
(8)jspForward1.jsp要把請求轉(zhuǎn)發(fā)給jspForward2.jsp,應該在jspForward1.jsp中如何實現(xiàn)?選項:
(A)jspForward2.jsp (B)
(9)當瀏覽器第二次訪問以下JSP網(wǎng)頁時的輸出結(jié)果是什么?
<% int b=0;a++;b++;%>
a:<%= a %>
b:<%= b %> 選項:
(A)a=0 b=0(B)a=1 b=1(c)a=2 b=1
(10)下面哪個說法是正確的? 選項:
(A)對于每個要求訪問maillogin.jsp的HTTP請求,Servlet容器都會創(chuàng)建一個HttpSession對象(B)每個HttpSession對象都有惟一的ID。
(C)JavaWeb應用程序必須負責為HttpSession分配惟一的ID
(11)如果不希望JSP網(wǎng)頁支持Session,應該如何辦?(單選)選項:
(A)調(diào)用HttpSession的invalidate()方法(B)<%@ page session= “false“>
(12)在標簽處理類中,如何訪問session范圍內(nèi)的共享數(shù)據(jù)? 選項:
(A)在TagSupport類中定義了session成員變量,直接調(diào)用它的getAttribute()方法即可。
(B)在標簽處理類TagSupport類中定義了pageContext成員變量,先通過它的getSession()方法獲得當前的
HttpSession對象,再調(diào)用HttpSession對象的getAttribute()方法。
(C)pageContext.getAttribute(“attributename”,PageContext.SESSION_SCOPE)
(13)在下面的選項中,哪些是TagSupport類的doStartTag()方法的有效返回值? 選項:
(A)Tag.SKIP_BODY(B)Tag.SKIY_PAGE(C)Tag.EVAL_BODY_INCLUDE(D)Tag.EVAL_PAGE
(14)以下代碼能否編譯通過,假如能編譯通過,運行時得到什么打印結(jié)果? request.setAttribute(”count“,new Integer(0));Integer count = request.getAttribute(”count");選項:
A)不能編譯通過 B)能編譯通過,并正常運行 C)編譯通過,但運行時拋出ClassCastException
第五篇:JavaWeb實習報告
武漢工程大學計算機科學與工程學院
生產(chǎn)實習報告
JavaWeb實習報告
一、實習目的與任務
為了鍛煉我們的實踐動手能力,提高我們分析問題、解決問題的能力,培養(yǎng)我們的工作意識和團隊合作的意識,了解軟件開發(fā)的過程和基本流程,以便于幫助我們能夠在大四畢業(yè)時可找到一份客觀的工作,我們在大四剛開學就開始了生產(chǎn)實習。
這次實習的主要任務是Java Web軟件開發(fā),學習Java開發(fā)中比較典型且經(jīng)常用到的幾個知識,其中包括Jsp、Servlet、Html、JDBC等等,另外,Java開發(fā)中也必須要用到數(shù)據(jù)庫,因此實習中還加入了Mysql數(shù)據(jù)庫的學習。掌握了這些基本知識之后,就開始真正的項目開發(fā),而且此次我們所要開發(fā)的項目是有關(guān)博客頁面的項目,并完成老師指定的功能。
二、實習地點
重慶足下科技有限公司
三、實習內(nèi)容和要求
我們這次實習,在校外也就是軟帝公司總共是十天,開始幾天基本上是每天學習一個方面的內(nèi)容,大概學習了六天其中包括Jsp、Servlet、Html、JDBC、Mysql等等,剩下幾天就是項目時間,做出一個博客開發(fā)的項目。大致內(nèi)容如下:
一、Java語言簡介
Java語言Java是由Sun微系統(tǒng)公司所發(fā)展出來的程序語言,它是一種面向地向的語言,Java也號稱是能跨平臺使用的語言,這主要是因為Java本身被編譯之后,并不是直接產(chǎn)生可執(zhí)行的代碼,而是產(chǎn)生一種中間碼叫作 ByteCode,這種代碼必需在透過 Java 的直譯器來解讀它,才能夠真正的被執(zhí)行,所以只要平臺上裝有這種Java的直譯器,就能解讀ByteCode也就能執(zhí)行Java編譯過的程序,故與Java程序是在那種平臺上被編譯的,就完全沒有干系了。
Java寫出來的程序可分為兩類,分別是Java Applet與一般的Application,而Application這一類就與一般的程序如C++的作用是比較類似的,是一個獨立可執(zhí)行的應用程序,像HotJava是一個瀏覽器,且就是使用Java程序所發(fā)展出來的。最常見的Java程序包括應用程序和applets。應用程序是單獨的程序,諸如HotJava瀏覽器軟件就是用Java語言編寫的。
Applets類似于應用程序,但是它們不能單獨運行,Applets可以在支持Java的瀏覽器中運行。Applet主要是內(nèi)置于HTML網(wǎng)頁中,在瀏覽時發(fā)揮作用。
Java的目標是為了滿足在一個充滿各式各樣不同種機器,不同操作系統(tǒng)平臺的網(wǎng)絡環(huán)境中開發(fā)軟件。利用Java程序語言,可以進行網(wǎng)頁開發(fā),其中包括靜態(tài)語言開發(fā)與動態(tài)網(wǎng)頁開發(fā),可以在網(wǎng)頁中加入各式各樣的動態(tài)效果,可以放上一段動畫,加入聲音,也可以建立交互式網(wǎng)頁等。
二、Html語言
Html是超文本標記語言,它是一種非嚴格的標記語言,它是web開發(fā)的基礎(chǔ),也是制作網(wǎng)頁的基礎(chǔ),純html的頁面是靜態(tài)的。
Html它由head和body兩部分組成,所寫的內(nèi)容一般都是放在body中,其中可以添加Form表單域,其中屬性 Action表示提交的動作,也就是提交到那個頁面,可表示為Action=“http://004km.cn”;Method屬性表示提交的方法,一般為設(shè)為post;在Form表單域中添加table表,table中的屬性只有很多,常用的有width、height、align、colspan
武漢工程大學計算機科學與工程學院
生產(chǎn)實習報告
Mysql是一個關(guān)聯(lián)數(shù)據(jù)庫,它將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大的倉庫內(nèi)。這樣就增加了速度并提高了靈活性。Mysql的Sql指得是“結(jié)構(gòu)化查詢語言”,Sql是用于訪問數(shù)據(jù)庫的最常用標準化語言。同時,Mysql軟件也是一種“開放源碼”的軟件,意味著任何人都能使用和改變軟件。任何人都能從Internet下載Mysql軟件,而無需支付任何費用。如果愿意,你可以研究源碼并進行恰當?shù)母?,以滿足你自己的需求。Mysql軟件采用了GPL(GNU通用公共許可證),定義了在不同情況下可以用軟件作的事和不可作的事。數(shù)據(jù)庫服務器具有快速、可靠和易于使用。
Mysql服務器還有一套實用的特性集合,在基準測試主頁上,給出了Mysql服務器和其他數(shù)據(jù)庫管理器的比較結(jié)果。Mysql支持多種連接,包括TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑,而我們此次實習用到的是JDBC數(shù)據(jù)庫連接方法,這一點在下面會講到。
此次實習我們主要學習了如何在Mysql數(shù)據(jù)庫中建立表格,如何執(zhí)行Sql語句等等。首先,打開Mysql編寫框,執(zhí)行語句show databases,即可查看Mysql中有哪些數(shù)據(jù)庫,運用create+數(shù)據(jù)庫名語句可建立想要的數(shù)據(jù)庫,運用use+數(shù)據(jù)庫名即可進入對應的數(shù)據(jù)庫。
進入數(shù)據(jù)庫之后,就可以執(zhí)行數(shù)據(jù)庫中的增、刪、查、改等Sql語句了,運用create table +表名(表中所需要的元素),這樣就可以建立一張表了,運用desc+表名就可以查看表,運用Sql語句“select * from +表名”就可以查看表中的所有數(shù)據(jù),運用“insert into ??”語句可以向表中添加數(shù)據(jù);運用“update +表 set ?? Where??”可以更改表中指定的某項數(shù)據(jù);運用“delete +表 where ??”語句可以刪除表中的某項數(shù)據(jù)??
四、JDBC數(shù)據(jù)庫連接
Java中的JDBC,JDBC是Java Data Base Connectivity的縮寫,是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應用程序。
連接數(shù)據(jù)庫的方法有一個模板,代碼如下: public class DBManager { private static final String URL=“jdbc:mysql://localhost:3306/test”;private static final String USER=“root”;private static final String PASSWORD=“123”;private static Connection conn=null;
public static Connection getConn(){ try {
if(conn==null){
//注冊驅(qū)動
Class.forName(“com.mysql.jdbc.Driver”);
conn=DriverManager.getConnection(URL,USER,PASSWORD);
} } catch(ClassNotFoundException e){
e.printStackTrace();
} catch(SQLException e){
e.printStackTrace();}
return conn;} } 以后運用數(shù)據(jù)庫連接基本上都是用這個模板,方便又有效,而且在其他地方連接數(shù)據(jù)
武漢工程大學計算機科學與工程學院
生產(chǎn)實習報告
六、Servlet Servlet是一種服務器端的Java應用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。它擔當客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務器響應(HTTP服務器上的數(shù)據(jù)庫或應用程序)的中間層。Servlet是位于Web 服務器內(nèi)部的服務器端的Java應用程序,與傳統(tǒng)的從命令行啟動的Java應用程序不同,Servlet由Web服務器進行加載,該Web服務器必須包含支持Servlet的Java虛擬機。
Servlet生成響應內(nèi)容并將其傳給Server,響應內(nèi)容動態(tài)生成,通常取決于客戶端的請求。service()方法可能激活其它方法以處理請求,如doGet()或doPost()或程序員自己開發(fā)的新的方法,用的比較普遍的是doPost()方法。舉例如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//
1、獲取id
String sid=request.getParameter(“id”);
int id=Integer.parseInt(sid);
//
2、根據(jù)id查詢到對應的學生信息
StuDAO sdao=new StuDAO();
StuDTO stu=sdao.queryStu(id);
//
3、將stu傳遞到studentModify.jsp頁面顯示
request.setAttribute(“stu”,stu);request.getRequestDispatcher(“studentModify.jsp”).forward(request,response);我們同樣是以學習建立學生信息管理系統(tǒng)為例來學習Servlet的,Servlet與JSP差不多,最主要的差別是JSP是實現(xiàn)普通靜態(tài)HTML和動態(tài)HTML混合編碼的技術(shù),Servlet則是web頁面和服務器之間的連接物,而這基本上沒什么區(qū)別。
在編寫學生信息管理系統(tǒng)的時候,只不過在昨天編寫的基礎(chǔ)上,將某些JSP文件運用Servlet表示,像那些只做顯示用的JSP頁面不做變化,而中間有調(diào)用StuDAO中的方法的JSP頁面,它們不做顯示用,而是要與數(shù)據(jù)庫聯(lián)系起來,像這些JSP頁面就可以轉(zhuǎn)換成相應的Servlet,其中的代碼與JSP中的幾乎一樣,這樣處理之后,減少了頁面,不過功能沒有變化,更加方便了!
四、實習總結(jié)及分析
這次實習主要是學習Java Web開發(fā)方面的相關(guān)知識,主要的有JSP、Servlet、HTML,另外還有JDBC,Mysql數(shù)據(jù)庫等等。
首先是JSP,它是Java Web開發(fā)的基礎(chǔ),需要的頁面都是用JSP來建立的,它是一種