在一般的web專案中,上傳檔案和下載檔案很常見。但是當上傳的檔案名稱包含中文時,有時會出現亂碼問題。要解決這個問題,只需要統一的設定編碼集就可以,這個可以透過Filter來實現。
線上java影片教學推薦:java線上影片
下面是寫的Filter類,如下:
package com.newview.bysj.filter; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; public class EncodingFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest; //设置请求的字符集 httpServletRequest.setCharacterEncoding("UTF-8"); //将请求放行到目的地址 filterChain.doFilter(servletRequest, servletResponse); } @Override public void destroy() { } }
要讓該Filter類別起作用,還需要在web.xml中進行配置,具體的配置如下:
<!--定义Filter--> <filter> <display-name>EncodingFilter</display-name> <!--Filter的名字--> <filter-name>EncodingFilter</filter-name> <!--Filter的实现类--> <filter-class>com.newview.bysj.filter.EncodingFilter</filter-class> </filter> <!--定义Filter拦截的url--> <filter-mapping> <filter-name>EncodingFilter</filter-name> <!--Filter拦截的url--> <url-pattern>*.html</url-pattern> </filter-mapping>
更多相關文章教學推薦:java開發入門
##
以上是java如何解決web項目上傳出現亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!