㈠ jsP開發Web站點的4種方式
直接使用JSP(小型,功能簡單)
JSP、Servlet、和JavaBean結合起來,網站邏輯完全放在Servlet中,動態頁面的輸出放在JSP頁面完成(網站邏輯關系復雜)
用JavaEE開發模型(將整個系統分為三個主要部分:視圖,控制器,模型,前者處理用戶看到的界面,中者負責網站整體邏輯,用來容搞管理用戶與視圖發生的交互,後者是應用業務邏輯部分,用Java 伺服器端組件模型EJB來完成)
用框架整合應用來開發Web站點,如SSH(這種方式當今主流web應用開發模式)
你說的四種我不知道是哪四個,這是實際開發中開發Web站點的主要五種方式
㈡ Jsp中的分層,分頁怎麼弄
你可以用hibernate框架來實現,通過使用Query對象的setFirstResult(int firstResult)方法來設置第一條記錄的位置和setMaxResult(int MaxResult)設置最大返回條數來實現分頁。你只需要傳這兩個參數就行了。
int MaxResult:設置最大返回條數既是每頁顯示多少條。
int firstResult:設置第一條記錄的位置可以這樣算:MaxResult * 當前頁數-1
public class PageBean {
private int currentPage = 1; // 當前頁
private int pageSize = 10; // 每頁顯示條數
private int totalRecords = 0;// 總條數
/**
* 計算有沒有下一頁
*
* @return
*/
public boolean hasNext() {
if (totalRecords % pageSize == 0) {
return totalRecords / pageSize > currentPage ? true : false;
} else {
return (totalRecords / pageSize + 1) > currentPage ? true : false;
}
}
// 第一條記錄的位置
public int getFirstResult() {
return (currentPage - 1) * pageSize;
}
/**
* 計算有沒有前一頁
*
* @return
*/
public boolean hasPrew() {
return currentPage > 1 ? true : false;
}
/**
* 最後一頁
* @return
*/
public int getLast() {
if (totalRecords % pageSize == 0) {
return totalRecords / pageSize;
} else {
return (totalRecords / pageSize + 1);
}
省略get,set方法
}
然後在Dao里這樣寫:
public List<V> find(PageBean pb, String hql, Object... params) {
Session session = HibernateSessionFactory.getSession();
/*
* 統計總記錄數
*/
String totalPageHql = "select count(*) " + hql.substring(hql.toLowerCase().indexOf("from"));
Query totalQuery = session.createQuery(totalPageHql);
for (int i = 0; i < params.length; i++) {
totalQuery.setParameter(i, params[i]);
}
int total = Integer.parseInt(String.valueOf((Long)totalQuery.uniqueResult()));
pb.setTotalRecords(total);
/*
* 查詢分頁記錄
*/
Query query = session.createQuery(hql);
for (int i = 0; i < params.length; i++) {
query.setParameter(i, params[i]);
}
query.setFirstResult(pb.getFirstResult());
query.setMaxResults(pb.getPageSize());
List<V> list = query.list();
HibernateSessionFactory.closeSession();
return list;
}
這是我一直用的分頁代碼。。
㈢ 簡述jsp 工作原理
客戶訪問這個頁面的時候,只要該文件沒有發生過更改,JSP引擎就直接調專用已經屬裝載的Servlet。如果已經做過修改的話,那就會再次執行以上過程,翻譯、編譯並裝載。其實這就是所謂的「第一人懲罰」。因為首次訪問的時候要執行一系列以上的過程,所以會耗費一些時間;以後的訪問就不會這樣了。
jsp是由servlet發展過來的,你應該知道jsp主要是用來做頁面顯示的,早期jsp沒出現之前servlet擔當這一角色,servlet編寫前端頁面時非常繁瑣效率低的,jsp實在servlet的基礎上做了一層封裝,更傾向於表現層,現在的servlet更傾向於業務邏輯層,這樣做的目的也就是分層.把業務層和表現層的代碼分離開來,便於開發和維護.jsp在運行的第一次速度會比較慢,因為第一次他需要編譯成servlet的文件,實際上你運行的就是一個jsp翻譯過來的servlet.
㈣ 什麼是jsp web三層架構
三層架構(3-tier architecture) 通常意義上的三層架構就是將整個業務應用劃分為:界面層(User Interface layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data access layer)。區分層次的目的即為了「高內聚低耦合」的思想。在軟體體系架構設計中,分層式結構是最常見,也是最重要的一種結構。微軟推薦的分層式結構一般分為三層,從下至上分別為:數據訪問層(又稱為持久層)、業務邏輯層(又或稱為領域層)、表示層。
表示層(UI層):
表示層也稱為界面層,位於最外層(最上層),離用戶最近。用於顯示數據和接收用戶輸入的數據,為用戶提供一種互動式操作的界面。
業務邏輯層(BLL層):
負責關鍵業務的處理和數據的傳遞。復雜的邏輯判斷和涉及到資料庫的數據驗證都需要在此做出處理。主要是針對具體的問題的操作,也可以理解成對數據層的操作,對數據業務邏輯處理,如果說數據層是積木,那邏輯層就是對這些積木的搭建。
數據訪問層(DAL層):
主要負責對資料庫的直接訪問,為業務邏輯層提供數據,根據傳入的值來操作資料庫,增、刪、改、查。
㈤ JSP的分層製作
如果是簡單的應用就沒必要用到struts了,用jsp+servlet+javaBean.
網上很多教程和例子代碼,試驗著做幾個,在自己機器上調試,不難。
㈥ jsp濫用會導致分層和mvc這兩種架構風格的在應用中的混亂。請高手說明下原因
JSP java Server page 最終它就是個page頁面,頁面是做什麼用的呢,顯示數據。所以JSP只負責把數據呈現到頁面上就可以了。具體的數據如何得到那就交給servlet或其它的去做吧
㈦ JSP是前端還是後端
jsp的實質是來servlet,而servlet是伺服器端小程序源,所以jsp應該屬於後端。
因為MVC分層中,jsp屬於View層,現在jsp更多的作用變為了數據的展示和頁面的顯示,漸漸不用於邏輯的處理,所以綜合起來雖然是後端的技術,但是應用上更貼近前端。
㈧ 簡述JSP運行原理
所有JSP頁面,在執行的時候都會被伺服器端的JSP引擎轉換為Servelet(.java),然後又由JSP引擎內調用Java編譯器,容將Servelet(.java)編譯為Class文件(.class),並由Java虛擬機(JVM)解釋執行。