サーブレット初心者です。
フィルタを使ってutf-8の文字エンコードを掛けたいのですが上手くいきません。
フィルタの内容が以下の文です。
Java
1import java.io.IOException; 2 3import javax.servlet.Filter; 4import javax.servlet.FilterChain;//chainで使用 5import javax.servlet.FilterConfig;//initで使用 6import javax.servlet.ServletException; 7import javax.servlet.ServletRequest; 8import javax.servlet.ServletResponse; 9import javax.servlet.annotation.WebFilter; 10 11@WebFilter("/EncodingFilter") 12public class EncodingFilter implements Filter 13{ 14 public void init(FilterConfig filterConfig) 15 throws ServletException{} 16 17 public void doFilter(ServletRequest request, 18 ServletResponse response, 19 FilterChain chain) 20 throws IOException, ServletException 21 { 22 System.out.println("calls EncodingFilter#doFilter()"); 23 request.setCharacterEncoding("UTF-8"); 24 chain.doFilter(request, response); 25 } 26 27 public void destroy() {}//何もしない 28}
web.xmlの内容が、以下の文です。
<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_3_0.xsd" id="WebApp_ID" version="3.0"> <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> <display-name>Servlet1</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
何か間違いがあれば教えていただけると非常にありがたいです。
回答よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー