java筆記——jsp實現簡單論壇
阿新 • • 發佈:2019-01-30
在之前用struts2 spring ,hibernate 做過一些東西,這些框架總是各種配置,雖然做好了也並不知其中原理,所以決定回到原點做起,用jsp,jdbc 實現一些簡單的功能,重在理解java web最基礎的原理,對深入理解框架的原理很有幫助,不然只知道怎麼配置,卻不知道框架背後的故事,是不會有何作為的,等熟悉這些框架後還要看看原始碼,學習其實現過程很重要。
java web的基礎就是servlet ,簡單理解servlet以及jsp的實現原理是相當重要的,在做的過程當中的一些體會和總結零碎的記錄一下。
首先說下filter 實現使用者登入驗證 ,對沒有登入使用者限制訪問。filter是利用了鏈式的設計模式來實現的。
package shop.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import shop.model.User; public class LoginFilter implements Filter{ @Override public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request=(HttpServletRequest)req; HttpServletResponse response=(HttpServletResponse)resp; HttpSession session=request.getSession(); Object obj=session.getAttribute("loginUser"); if(obj==null){ String url=request.getContextPath()+"/login.jsp"; response.sendRedirect(url); } chain.doFilter(request,response); } @Override public void destroy() { // TODO Auto-generated method stub } }
jdbc實現的資料庫操作不具有很好的擴充套件性,應該說實現和好的擴充套件性具有很難,有了hibernate這樣的工具就會讓開發效率提高很多。這讓理解hibernate的作用有了很深刻的認識。
還有一個很重要的內容就是實現分頁,利用mysql的sql 傳一些引數能實現,還有使用ThreadLocal來實現也是很重要的知識點,jdbc使用的時候同樣也需要注意事務控制,同樣可以使用ThreaLocal來讓實現過程相對簡單。
還有一部分就是htnl,和jsp 標籤的內容了。
使用過程中還涉及一些時間型別的處理, 配置檔案的初步使用還有xheditor 的使用。
資料庫連線池,tomcate實現的資料庫連線池。