本文目錄一覽:
- 1、碩正web組件怎麼在jsp上獲取後台數據
- 2、JSP開發Web站點的4種方式
- 3、Web組件與Web容器有哪些,WEB組件的三種關聯
- 4、JSP技術有什麼特徵?
- 5、我們還需要JSP嗎?
- 6、解釋JSP的作用,並列舉JSP的特點
碩正web組件怎麼在jsp上獲取後台數據
用request.getAttribute獲取,而不是getParameter。 (1)HttpServletRequest接口有setAttribute()方法,而沒有setParameter()方法 (2)當兩個Web組件之間為鏈接關係時,被鏈接的組件通過getParameter()方法來獲得請求參數,
JSP開發Web站點的4種方式
直接使用JSP(小型,功能簡單)
在JSP頁面中加入JavaBean,用JavaBean來封裝數據庫連接等(中等規模,邏輯關係簡單)
JSP、Servlet、和JavaBean結合起來,網站邏輯完全放在Servlet中,動態頁面的輸出放在JSP頁面完成(網站邏輯關係複雜)
用JavaEE開發模型(將整個系統分為三個主要部分:視圖,控制器,模型,前者處理用戶看到的界面,中者負責網站整體邏輯,用來搞管理用戶與視圖發生的交互,後者是應用業務邏輯部分,用Java 服務器端組件模型EJB來完成)
用框架整合應用來開發Web站點,如SSH(這種方式當今主流web應用開發模式)
你說的四種我不知道是哪四個,這是實際開發中開發Web站點的主要五種方式
Web組件與Web容器有哪些,WEB組件的三種關聯
Web組件:有Jsp,Servlet等
Web容器:有tomcat ,jboss, resin, weblogic ,websphere, glassfish。可以理解為Web服務器。
WEB應用程序如此強大的原因之一就是他們能彼此鏈接和聚合信息資源。WEB組件之間存在三種關聯關係:
l 請求轉發
l URL重定向
l 包含關係
存在以上關聯關係的Web組件可以是JSP或Servlet,對於Struts應用,則還包含Action,這些Web組件都可以訪問HttpServletRequest和HttpServletResponse對象,具有處理請求、生成響應結果的功能。
1. 請求轉發。
請求轉發允許把請求轉發給同一個應用程序中的其他Web組件。這種技術通常應用於Web應用中的Servlet流程控制器。
Servlet類使用 javax.servlet.RequestDispatcher.forward()方法來轉發。轉發目標將處理該請求並生成響應結果,或者將請求轉發到另一個組件,最初請求的ServletRequest,ServletResponse對象被傳遞給轉發目標組件,這使得目標組件可以訪問整個請求上下文。值得注意的是,只能把請求轉發給同一個web應用中的組件。下面是一個例子,當前的servlet組件要把請求轉發給一個JSP組件,如hello.jsp,可以在Servlet的service()方法中執行以下代碼:
RequestDispatcher rd = request.getRequestDispatcher(“hello.jsp”);
Rd.forward(request,response);
在jsp頁面中,可以使用jsp:forward標籤來轉發請求,例如:
jsp:forward page=”hello.jsp”/
對於請求轉發,轉發的源組件和目標組件共享request範圍內的共享數據。
2. 請求重定向
請求重定向類似於請求轉發,但也有一些重要的區別:
l Web組件可以將請求重定向到任一URL,而不僅僅是同一應用中的URL。
l 重定向的目標組件與源組件之間不共用同一個HttpServletRequest對象,因此不能共享request範圍內的共享數據。
例如當前應用的Servlet組件把請求轉發到URL:,可以在Servlet的service()方法中執行以下代碼:
Response.sendRedirect(“”);
HttpServletResponse的sendRedirect()方法向瀏覽器返回包含重定向的信息,瀏覽器根據這一信息迅速發出一個新的HTTP請求,請求訪問重定向目標組件。
3. 包含
Servlet類使用javax.servlet.RequestDispatcher.include()方法包含其他的Web組件。例如當前的Servlet組件包含三個JSP文件:header.jsp/main.jsp/footer.jsp,則可以在servlet的service()方法中執行以下代碼:
RequestDispatcher rd;
Rd = req.getRequestDispatcher(“/header.jsp”);
Rd.include(req,res);
Rd = req.getRequestDispatcher(“/main.jsp”);
Rd.include(req,res);
Rd = req.getRequestDispatcher(“/footer.jsp”);
Rd.include(req,res);
在JSP文件中,可以通過〈include〉指令來包含其他的web資源,例如:
%@ include file=”header.jsp”%
%@ include file=“main.jsp”%
%@ include file=”footer.jsp”%
JSP技術有什麼特徵?
1.2 JSP技術特徵\x0d\x0a\x0d\x0aJSP技術所開發的Web應用程序是基於Java的,它擁有Java語言跨平台的特性,以及業務代碼分離、組件重用、基礎Java Servlet功能和預編譯等特徵。\x0d\x0a\x0d\x0a1.2.1 跨平台\x0d\x0a\x0d\x0a既然JSP是基於Java語言的,那麼它就可以使用Java API,所以它也是跨平台的,可以應用在不同的系統中,如Windows、Linux、Mac和Solaris等。這同時也拓寬了JSP可以使用的Web服務器的範圍。另外,應用於不同操作系統的數據庫也可以為JSP服務,JSP使用JDBC技術操作數據庫,從而避免了代碼移植導致更換數據庫時的代碼修改問題。\x0d\x0a\x0d\x0a正是因為跨平台的特性,使得採用JSP技術開發的項目可以不加修改地應用到任何不同的平台上,這也應驗了Java語言的”一次編寫,到處運行”的特點。\x0d\x0a\x0d\x0a1.2.2 業務代碼分離\x0d\x0a\x0d\x0a採用JSP技術開發的項目,通常使用HTML語言來設計和格式化靜態頁面的內容,而使用JSP標籤和Java代碼片段來實現動態部分。程序開發人員可以將業務處理代碼全部放到JavaBean中,或者把業務處理代碼交給Servlet、Struts等其他業務控制層來處理,從而實現業務代碼從視圖層分離。這樣JSP頁面只負責顯示數據即可,當需要修改業務代碼時,不會影響JSP頁面的代碼。\x0d\x0a\x0d\x0a1.2.3 組件重用\x0d\x0a\x0d\x0aJSP中可以使用JavaBean編寫業務組件,也就是使用一個JavaBean類封裝業務處理代碼或者作為一個數據存儲模型,在JSP頁面甚至整個項目中都可以重複使用這個JavaBean。JavaBean也可以應用到其他Java應用程序中,包括桌面應用程序。\x0d\x0a\x0d\x0a1.2.4 繼承Java Servlet功能\x0d\x0a\x0d\x0aServlet是JSP出現之前的主要Java Web處理技術。它接受用戶請求,在Servlet類中編寫所有Java和HTML代碼,然後通過輸出流把結果頁面返回給瀏覽器。其缺點是:在類中編寫HTML代碼非常不便,也不利於閱讀。使用JSP技術之後,開發Web應用便變得相對簡單快捷多了,並且JSP最終要編譯成Servlet才能處理用戶請求,因此我們說JSP擁有Servlet的所有功能和特性。\x0d\x0a\x0d\x0a1.2.5 預編譯\x0d\x0a\x0d\x0a預編譯就是在用戶第一次通過瀏覽器訪問JSP頁面時,服務器將對JSP頁面代碼進行編譯,並且僅執行一次編譯。編譯好的代碼將被保存,在用戶下一次訪問時,直接執行編譯好的代碼。這樣不僅節約了服務器的CPU資源,還大大提升了客戶端的訪問速度。
我們還需要JSP嗎?
jsp還是需要的,現在很多大型的電商網站都是採用jsp做的,jsp就有以下特點:
1 跨平台
既然JSP是基於Java語言的,那麼它就可以使用Java API,所以它也是跨平台的,可以應用在不同的系統中,如Windows、Linux、Mac和Solaris等。這同時也拓寬了JSP可以使用的Web服務器的範圍。另外,應用於不同操作系統的數據庫也可以為JSP服務,JSP使用JDBC技術操作數據庫,從而避免了代碼移植導致更換數據庫時的代碼修改問題。
正是因為跨平台的特性,使得採用JSP技術開發的項目可以不加修改地應用到任何不同的平台上,這也應驗了Java語言的”一次編寫,到處運行”的特點。
2 業務代碼分離
採用JSP技術開發的項目,通常使用HTML語言來設計和格式化靜態頁面的內容,而使用JSP標籤和Java代碼片段來實現動態部分。程序開發人員可以將業務處理代碼全部放到JavaBean中,或者把業務處理代碼交給Servlet、Struts等其他業務控制層來處理,從而實現業務代碼從視圖層分離。這樣JSP頁面只負責顯示數據即可,當需要修改業務代碼時,不會影響JSP頁面的代碼。
3 組件重用
JSP中可以使用JavaBean編寫業務組件,也就是使用一個JavaBean類封裝業務處理代碼或者作為一個數據存儲模型,在JSP頁面甚至整個項目中都可以重複使用這個JavaBean。JavaBean也可以應用到其他Java應用程序中,包括桌面應用程序。
4 繼承Java Servlet功能
Servlet是JSP出現之前的主要Java Web處理技術。它接受用戶請求,在Servlet類中編寫所有Java和HTML代碼,然後通過輸出流把結果頁面返回給瀏覽器。其缺點是:在類中編寫HTML代碼非常不便,也不利於閱讀。使用JSP技術之後,開發Web應用便變得相對簡單快捷多了,並且JSP最終要編譯成Servlet才能處理用戶請求,因此我們說JSP擁有Servlet的所有功能和特性。
5 預編譯
預編譯就是在用戶第一次通過瀏覽器訪問JSP頁面時,服務器將對JSP頁面代碼進行編譯,並且僅執行一次編譯。編譯好的代碼將被保存,在用戶下一次訪問時,直接執行編譯好的代碼。這樣不僅節約了服務器的CPU資源,還大大提升了客戶端的訪問速度。
解釋JSP的作用,並列舉JSP的特點
JSP是一種建立在Servlet規範功能之上的動態網頁技術,是在通常的網頁文件中嵌入腳本代碼,用於產生動態內容,在JSP文件中嵌入的是java代碼和JSP標記。
特點:
1、將內容的生成和顯示進行分離使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。
2、強調可重用的組件絕大多數JSP頁面依賴於可重用的,跨平台的組件來執行應用程序所要求的更為複雜的處理。
3、採用標識簡化頁面開發Web頁面開發人員不會都是熟悉腳本語言的編程人員。
JSP的優缺點
一、缺點
1、JSP技術極大的增加了產品的複雜性。
2、java的高效率運行需要佔用大量的內存和硬盤空間。一方面,java的高速運行是通過.class文件常駐內存來實現的,另一方面,還需要硬盤空間來存儲一系列的.java文件和.class文件以及對應的版本文件。
3、JSP程序調試困難。
二、優點
1、JSP代碼跨平台,即一次編寫,處處運行。
2、JSP組件跨平台可重用,企業JavaBeans組件可以訪問傳統的數據庫,並能以分布式系統模式工作於Solaris,Linux,UNIX和Windows平台。
3、支持多種網頁格式。
4、JSP標籤可擴充性。JSP技術允許開發者擴展JSP標籤,定製JSP標籤庫,所以網頁製作者充分利用與XML兼容的標籤技術強大的功能,大大減少對腳本語言的依賴。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/290816.html