JSP跳轉

login.jsp裏body代碼:html

<body> <% String USERNAME = "admin"; String USERPWD = "123456"; java

request.setCharacterEncoding("utf8");  

String userName = request.getParameter("username").trim();  
String userPwd = request.getParameter("userpwd").trim();  
  
System.out.println(userName + "\t" + userPwd);
if(userName == null || userPwd == null){  
    response.sendRedirect("userlogin.html");  
    return;  
}  
  
if(userName.equals(USERNAME) && userPwd.equals(USERPWD)) {  
    session.setMaxInactiveInterval(30*60);          // 設置session失效時間(timeout),單位爲秒  
    session.setAttribute("userinfo", USERNAME);     // 用戶名和密碼正確,保存登陸信息  
    response.sendRedirect("page111.jsp");  
} else {  
    response.sendRedirect("userlogin.html");        // 用戶名和密碼錯誤,跳轉到登陸界面  
}

%>web

SetCharacterEncodingFilter.java代碼: 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;session

public class SetCharacterEncodingFilter implements Filter { // 要實現Filter接口 // 存儲編碼格式信息 private String encode = null;app

public void destroy() {

}

public void doFilter(ServletRequest req, ServletResponse resp,
		FilterChain chain) throws IOException, ServletException {

	// 轉換
	HttpServletRequest request = (HttpServletRequest) req;
	HttpServletResponse response = (HttpServletResponse) resp;

	/*
	 * 判斷在web.xml文件中是否配置了編碼格式的信息 若是爲空,則設置編碼格式爲配置文件中的編碼格式 不然編碼格式設置爲GBK
	 */
	if (this.encode != null && !this.encode.equals("")) {
		request.setCharacterEncoding(this.encode);
		response.setCharacterEncoding(this.encode);
	} else {
		request.setCharacterEncoding("GBK");
		response.setCharacterEncoding("GBK");
	}

	/*
	 * 使用doFilter方法調用鏈中的下一個過濾器或目標資源(servlet或JSP頁面)。
	 * chain.doFilter處理過濾器的其他部分(若是有的話),最終處理請求的servlet或JSP頁面。
	 */
	chain.doFilter(request, response);
}

public void init(FilterConfig config) throws ServletException {
	// 獲取在web.xml文件中配置了的編碼格式的信息
	this.encode = config.getInitParameter("encode");
}

}jsp

web.xml代碼:this

<?xml version="1.0" encoding="UTF-8"?>編碼

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>TestJSP</display-name>url

<!-- 過濾器配置信息 -->code

<filter> <filter-name>SetCharacterEncodingFilter</filter-name>

<!-- 過濾器設置編碼文件 -->

<filter-class>
	com.cloudwise.SetCharacterEncodingFilter
</filter-class>

<init-param>

<!-- init-param元素定義了過濾器的初始化參數 -->

<description>給參數和值設置名稱和編碼類型</description> <param-name>encode</param-name> <param-value>UTF-8</param-value> </init-param> </filter>

<filter-mapping> <!-- filter-mapping告訴容器全部與模式向匹配的請求都應該容許經過訪問控制過濾器. 全部以.do結尾的訪問都先經過過濾器文件過濾 -->

<filter-name>SetCharacterEncodingFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>

</web-app>

相關文章
相關標籤/搜索