问下导入以前的文件但是控制台乱码问题。
老师问一下我把以前的文件什么的导入了进来,但是控制台输出会有乱码。
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.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import entity.User; import service.UserService; /** * Servlet Filter implementation class LoginFilter */ @WebFilter(urlPatterns = {"/books","/booklist","/category"}) public class LoginFilter implements Filter { private UserService userService = new UserService(); /** * Default constructor. */ public LoginFilter() { // TODO Auto-generated constructor stub } /** * @see Filter#destroy() */ public void destroy() { // TODO Auto-generated method stub } /** * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub // place your code here // pass the request along the filter chain //System.out.println("ok"); HttpServletRequest req= (HttpServletRequest)request; System.out.println("Login Filter捕捉到URI :" + req.getRequestURI()); User user2 = (User) req.getSession().getAttribute("user"); System.out.println(user2); HttpServletResponse res = (HttpServletResponse)response; if(req.getSession().getAttribute("user") == null) { req.setAttribute("errmessage", "请登陆"); req.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response);; }else { User user = (User) req.getSession().getAttribute("user"); if(userService.checkUser(user)) { chain.doFilter(request, response); }else { req.setAttribute("errmessage", "请登录"); req.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response);; } } } /** * @see Filter#init(FilterConfig) */ public void init(FilterConfig fConfig) throws ServletException { // TODO Auto-generated method stub System.out.println("Login Filter初始化成功"); } }
这是文件
这是 控制台输出的效果
Login Filter???URI :/category
现在cosole 的encoding 是GBK
但是加入我把他的encoding 改为utf-8的话输出为:
5-Aug-2020 21:56:04.746 ��Ϣ [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory ��web Ӧ�ó�����Ŀ¼ [D:\apache-tomcat-8.5.57\webapps\manager]
类似于这样,在gbk的encoding下这些乱码都是中文。
Encoding Filter ?????????encoding??:UTF-8
而且这个地方也还是乱码。
问下这个要怎么解决呢?
正在回答 回答被采纳积分+1
同学你好,1. 设置所有文件都是UTF-8编码。具体:左上角:File-->settings-->Editor-->File Encodings 将所有编码都设置为UTF-8模式。如下所示:
2. 找到intellij idea安装目录,bin文件夹下面idea64.exe.vmoptions、idea.exe.vmoptions文件,追加:-Dfile.encoding=UTF-8 如下所示:
3. 在部署Tomcat的VM options项中添加:-Dfile.encoding=UTF-8
4. 重启Intellij idea
祝学习愉快!
- 参与学习 人
- 提交作业 9401 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星