A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

异常一
创建人
陈思淀
问题标题
Servlet的doPost方法错误
问题分类
代码问题
一级话题
问题补充
附件
public class ServletDemo5 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ServletContext servletContext = this.getServletContext();
        servletContext.setAttribute("msg","hello");
        String realPath = servletContext.getRealPath("/a.txt");
        System.out.println(realPath);
        String realPath2 = servletContext.getRealPath("/WEB-INF/b.txt");
        System.out.println(realPath2);
        String realPath3 = servletContext.getRealPath("/WEB-INF/classes/a.txt");
        System.out.println(realPath3);

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(“request”, “response”);
    }
}
问题答案
问题分析:
编译报错
问题解决方法:
Dopost方法应该传对象,而不是传进字符串
异常二
创建人
陈思淀
问题标题
问题分类
代码编写错误
一级话题
DataAccessException
问题补充
  public class UserDao {
    private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());

    public User login(User loginUser) {
        try {
            String sql = "select * from user where username= ? and password=?";
            User user = template.queryForObject(sql, new BeanPropertyRowMapper<>(User.class), loginUser.getUsername(), loginUser.getPassword());

            return user;

        }
        //注意此行,一定要捕捉这个异常!并返回null值
        catch (DataAccessException e){
            return null;
        }



    }


}
附件
问题答案
问题分析:
没有捕获DataAcessException异常,导致null无法返回数据
问题解决方法:
添加DataAccessExeption的catch。
异常三
创建人
陈思淀
问题标题
代码书写问题
问题分类
网页刷新
一级话题
问题补充
附件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>
        window.onload = function () {
            var elementById = document.getElementById("checkCode");
            var elementById2 = document.getElementById("change");
            elementById.onclick = function () {
                var date = new Date().getTime();
                elementById.src = "/checkCodeServlet?" + date;

            }
            elementById2.onclick = function () {
                var date = new Date().getTime();
                elementById.src = "/checkCodeServlet?" + date;

            }

        }


    </script>
</head>
<body>

<img src="/checkCodeServlet" id="checkCode">
<a id="change" style="cursor:pointer;color: blue;"><u>看不清?换一张</u></a>

</body>
</html>
问题答案
问题分析:
按文字按钮时,图片刷新但网页震动
问题解决方法:
去掉href链接
异常四
创建人
陈思淀
问题标题
重定向错误
问题分类
一级话题
问题补充
public class ServletRedirect1 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("R1....");
        response.sendRedirect("/test/ServletRedirect2");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   this.doPost(request, response);
    }
}
附件
问题答案
问题分析:
无法跳转重定向
问题解决方法:
加上虚拟路径名
异常五
创建人
陈思淀
问题标题
无法找到servlet类,报404错误
问题分类
无法查找到正确的servlet类
一级话题
问题补充
附件
@WebServlet("/successServlet")
问题答案
问题分析:
程序无法找正确的servlet,是因为servlet中路径编写不正确
问题解决方法:
修改成正确的连接路径

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马