Struts学習ノート2——ファイルフィルタリング


ファイルフィルタ機能
前のstruts学習ノート1に基づいて、私たちの次の学習を続けます.
前の基礎の上で、フィルタリングクラスを追加するだけで、webを修正します.xmlでOKです.
1まずfilterというフォルダをプロジェクトsrcの下に入れます.つまりフィルタクラスを入れます.

package 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;

public class EncodingFilter implements Filter {

	/**
	 * 
	 */
	public EncodingFilter() {
		// TODO Auto-generated constructor stub
	}

	/* (non-Javadoc)
	 * @see javax.servlet.Filter#destroy()
	 */
	public void destroy() {
		// TODO Auto-generated method stub

	}

	/* (non-Javadoc)
	 * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
	 */
	public void doFilter(ServletRequest req, ServletResponse res,
			FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		
		HttpServletRequest request = (HttpServletRequest) req;
				HttpServletResponse response = (HttpServletResponse) res;
				request.setCharacterEncoding("gb2312");
				response.setCharacterEncoding("gb2312");
				chain.doFilter(req, res);
	}

	/* (non-Javadoc)
	 * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
	 */
	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub

	}

}

2次のコードをwebに貼り付けます.Xml

<filter> 
        <filter-name> EncodingFilter</filter-name> 
        <filter-class>filter.EncodingFilter</filter-class> 
  </filter>
  <filter-mapping> 
        <filter-name> EncodingFilter</filter-name> 
        <url-pattern>/*</url-pattern> 
</filter-mapping>


漢字機能をサポートできるようになりました
例えばactionでは
if(username.equals("張三")&&password.equals("11")) {
return mapping.findForward("ok");
//張三は認識されます.そうしないと、元のユーザー名で漢字を入力しても成功ページにジャンプできません.