添加打不开 有乱码

添加打不开 有乱码

http://img1.sycdn.imooc.com//climg/5bfe57550001f7da14370556.jpg

http://img1.sycdn.imooc.com//climg/5bfe57550001f83313390586.jpg

http://img1.sycdn.imooc.com//climg/5bfe575500019ff811840282.jpg

添加界面点击+没反应 但是可以地址栏打开 然后输入之后 居然是乱码。。难道是过滤器没弄好么?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

7回答
chrismorgen 2018-11-30 09:51:28

你好同学,你看一下你过滤器的<url-pattern>路径中是不是少写了个*好,导致所有请求路径没有被编码过滤器过滤呢,建议你修改一下试试呢,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5c0097600001899007210374.jpg

  • 提问者 慕无忌0089299 #1
    老师 OK了 不过我看老师的课件上 没加*啊 另一个问题 我单独问一下吧,麻烦老师换个帖子在回答一下
    2018-11-30 10:13:52
提问者 慕无忌0089299 2018-11-29 19:47:41
import java.io.IOException;

public class EncodingFilter implements Filter {
    private String encoding="utf-8";
    @Override
    public void init(FilterConfig filterConfig) throws ServletException{
        if (filterConfig.getInitParameter("encoding")!=null){
            encoding=filterConfig.getInitParameter("encoding");
        }

    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse httpServletResponse=(HttpServletResponse)response;
        HttpServletRequest httpServletRequest=(HttpServletRequest)request;
        httpServletRequest.setCharacterEncoding(encoding);
        httpServletResponse.setCharacterEncoding(encoding);
        chain.doFilter(httpServletRequest,httpServletResponse);
    }

    @Override
    public void destroy() {

    }
}
<filter>
    <filter-name>enconding</filter-name>
    <filter-class>com.imooc.oa.global.EncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>enconding</filter-name>
    <url-pattern>/</url-pattern>
</filter-mapping>

这两个文件 老师麻烦看一下啊 我看不出来。。

chrismorgen 2018-11-29 19:09:18

你好同学,可以先按照我下图演示的方式,在DepartmentController 的add方法中打印一下department类的部门名称,看看前端传过来的数据在控制台中打印的是否为乱码?祝学习愉快~

http://img1.sycdn.imooc.com//climg/5bffc8220001226b10980319.jpg

  • 提问者 慕无忌0089299 #1
    传过来的是乱码。。这样就是filter 有问题了吧。。老师厉害了啊。。
    2018-11-29 19:34:54
提问者 慕无忌0089299 2018-11-29 17:30:20


http://img1.sycdn.imooc.com//climg/5bffaff40001795106010289.jpg老师你说应该是哪里的问题呢。这是改过编码后存的。。老师现在是这样的 我改完后 从新打开数据库 那些utf8 设置又变回去了。。

提问者 慕无忌0089299 2018-11-29 14:07:48

http://img1.sycdn.imooc.com//climg/5bff82230001663713930528.jpg

我也重启重练了

  • 同学现在是乱码的问题还是list.jsp的onclick 事件 到不了RequestMaping ?建议你使用select语句查询一下数据库中的数据是否都是乱码?同学是改过数据库编码格式之后输入数据出现的乱码吗?祝学习愉快~
    2018-11-29 16:57:01
  • 提问者 慕无忌0089299 回复 chrismorgen #2
    老师 这个是两个问题 我之前一起提问的。。我刚才看了后面存进去的信息都是乱码了。
    2018-11-29 17:22:47
chrismorgen 2018-11-29 09:58:00

也有可能是你mysql数据库的编码问题,你可以做如下尝试,在mysql命令行执行这个命令show variables like '%char%';  查看编码集,看是否为UTF-8;在创建数据库时,要优先将字符编码设置为utf8字符编码哦,可以参考下图代码,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5bff47650001f1a104970133.jpg

  • 提问者 慕无忌0089299 #1
    老师 是我数据库的问题 可是我都改了还是不行 最后一个只读 改不了
    2018-11-29 14:07:13
  • 提问者 慕无忌0089299 #2
    还有一个问题就是 我点击那个+号 怎么都不跳转 按理说那个很简单啊 我截图在最开始的三张里面有了
    2018-11-29 14:09:17
  • 提问者 慕无忌0089299 #3
    具体问题就是在list.jsp的onclick 事件 到不了RequestMaping
    2018-11-29 14:13:13
chrismorgen 2018-11-28 19:02:15

1、是你理解的这样,前端页面的请求都是通过过滤器来设置字符编码格式的,建议同学检查一下filter是否配置正确。

2、加号需要点击中间的黑色部分才会生效哦,建议同学尝试一下。祝学习愉快~

  • 提问者 慕无忌0089299 #1
    老师,那个点击黑色部分的问题,我看了。发现不行,然后截取的这三张图。老师觉得还有可能哪里出问题了呢。就是跳转不了
    2018-11-28 20:23:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师