Java web开发中遇到的问题及解决方法

约定不等于承诺〃 2023-02-23 01:28 59阅读 0赞

目录

    • 1、通过数据库连接池,获得查询结果集,但是无法取出数据
    • 2、过滤器放行出错
    • 3、德鲁伊连接池获取不到连接
    • 4、过程中遇到其他问题,值得一提的是一定要注意文件所处的文件夹

1、通过数据库连接池,获得查询结果集,但是无法取出数据

控制台报错:java.sql.SQLException: Before start of result set
出错代码

  1. //获取一个连接
  2. Connection conn = getConnection();
  3. System.out.println("从连接池获取一个连接成功!");
  4. PreparedStatement state = null;
  5. ResultSet rs = null;
  6. try {
  7. //预编译处理
  8. state = conn.prepareStatement("select * from user where username =? and password =?");
  9. //填充SQL语句
  10. state.setString(1,username);
  11. state.setString(2,password);
  12. rs = state.executeQuery();
  13. //生成对象
  14. User user = new User(rs.getString("username"), rs.getString("password")
  15. , rs.getInt("count"));
  16. return user;
  17. } catch (SQLException throwables) {
  18. throwables.printStackTrace();
  19. } finally {
  20. //释放资源
  21. close(conn,state,rs);
  22. }

原因:指针处于第一个结果集之前,取结果得先调用next()方法。
在这里插入图片描述

2、过滤器放行出错

出错代码:

  1. //放行资源
  2. if (requestURI.endsWith("/")||requestURI.endsWith("/index.jsp")||requestURI.endsWith("/product.jsp")||
  3. requestURI.endsWith("/login.jsp")|| requestURI.endsWith("/error.jsp")||
  4. requestURI.endsWith("/comment")||requestURI.endsWith("/comment.jsp")||
  5. requestURI.endsWith("/success.jsp")||
  6. requestURI.endsWith("/sign.jsp")||requestURI.endsWith("/notlogin.jsp")||
  7. loginName!=null){
  8. //调取下一个servlet或filter
  9. filterChain.doFilter(servletRequest,servletResponse);

原因:**requestURI.endsWith(“/sign.jsp”)requestURI.endsWith(“/sign”)**不一样,
.jsp和servlet弄混了,这种情况一般就是自己忘掉了加某个放行的条件,记得加上。

3、德鲁伊连接池获取不到连接

控制台报错:NullPointerException:The url cannot be null
网页报错:
HTTP Status 500 – Internal Server Error
Type Exception Report
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
java.lang.NullPointerException

我遇到的是配置文件出错,一旦是获取连接不成功多半都是配置文件问题,我这个就可能是手残不小心按到了一个空格。。。。。。
错误示范:
druid.properties文件

  1. url=jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf-8
  2. username=root
  3. password=123456
  4. driverClassName=com.mysql.jdbc.Driver
  5. initialSize=5
  6. maxActive=10
  7. minIdle=5
  8. maxWait=3000

你什么都看不出来
请看截图:
在这里插入图片描述
删除之后天空都变晴朗了

4、过程中遇到其他问题,值得一提的是一定要注意文件所处的文件夹

我遇到了如下问题
web.xml移出WEB-INF文件夹
在这里插入图片描述
lib文件夹目录错误,创建多留个心眼,如果还是有一直导包错误问题的可以参考如下修改过程
在这里插入图片描述
1、选择这个模式,就是将本地文件推送到tomcat下进行部署,
2、这个是推送到tomcat下文件的路径形式,web项目必须有WEB-INF文件夹,文件夹下面需要有class文件夹和lib文件,分别放编译后的class文件,和依赖的jar包
3、这个地方就是idea发现了你的项目是一个web项目,可以被引进来的项目
所以在部署的时候,先选择1,在选择3,最后看2的结构是不是符合要求

一杯茶,一包烟,一个BUG改一天······

发表评论

表情:
评论列表 (有 0 条评论,59人围观)

还没有评论,来说两句吧...

相关阅读