idea下web项目常遇到的问题

文章目录

      • 1.在部署web项目时,控制台乱码的问题:
      • 2.项目编码问题:
      • 3.找不到JDBC驱动的问题:
      • 4.使用BaseServlet反射调用相应的处理方法时,报NoSuchMethod错误:
      • 5.jsp中的路径问题
      • 6.前端页面正常显示数据,后台查询时数据乱码的问题
      • 7.使用thymeleaf的步骤
      • 8.表单序列化为name+value格式:
      • 9.ajax设置为同步:

1.在部署web项目时,控制台乱码的问题:

解决:
idea下web项目常遇到的问题_第1张图片

2.项目编码问题:

 // 请求对象设置编码为UTF8,防止获取到的参数乱码
    req.setCharacterEncoding("UTF-8");
 //响应对象设置编码为UTF-8,防止写出到HTML页面的内容乱码
    resp.setCharacterEncoding("UTF-8");
  //响应信息中设置编码  防止响应数据乱码
    resp.setHeader("Content-type", "text/html;charset=UTF-8");

3.找不到JDBC驱动的问题:

java.sql.SQLException: No suitable driver foun
d for ...
可能的原因:
1.连接驱动的lib包未导入,或者未正确加入到项目
2.版本不兼容
3.项目路径问题:
为web项目时,需要在web-info文件夹下创建lib文件夹
,且将jar包加入到项目中
4.缺少Class.forName("驱动");
我是因为这个原因,自己写的连接池没加这个驱动加载,
不是说高版本不需要再用这句话了吗?在纯java时不需
要加这句话,但是在web项目时,会报错,切记切记。

4.使用BaseServlet反射调用相应的处理方法时,报NoSuchMethod错误:

  可能的情况:
   1.是真的没有这个方法
   2.是因为你调用的方法为private修饰!======特别注意

5.jsp中的路径问题

解决方案:

<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
====然后在你每个资源前添加
<%=basePath>
如:<form action="<%=basePath%>login?method=loginIn" method="post">

6.前端页面正常显示数据,后台查询时数据乱码的问题

需要设置数据库的编码格式为UTF-8

7.使用thymeleaf的步骤

1.导入maven依赖:

<dependency>
  <groupId>org.thymeleaf</groupId>
  <artifactId>thymeleaf</artifactId>
  <version>3.0.11.RELEASE</version>
</dependency>

2.安装thymeleaf插件
idea下web项目常遇到的问题_第2张图片
3.命名空间:

<html lang="zh-cn" xmlns:th="http://www.thymeleaf.org">

8.表单序列化为name+value格式:

var data = $("form").serialize();

9.ajax设置为同步:

$.ajax({
            url:"../blog?method=add",
            async:false,
            type:"post",
            data:data,
            dataType:"json",
            success:function (data) {
                alert(data);
            }
          })

你可能感兴趣的:(笔记)