1. 程式人生 > >java筆記——jsp實現簡單論壇

java筆記——jsp實現簡單論壇

在之前用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實現的資料庫連線池。