[JSP]idea部署java ee 项目到 tomcat

呃 本次debug历经三个小时 五点半开始 八点半结束 成功干扰了我吃晚饭的时间
大概过了半个小时 把代码码完 配置配好 开始调试
首先是无法连接到localhost:8080 稍稍一查发现是被占用了
更改了一个HTTP Post即可
第一步

第二步 修改

然后是第二个配置问题 配置到java ee项目 到 Tomcat上
这里写图片描述

一开始跟着书上做 因为书上是MyEclipse 而我是用的编译环境则是idea 在配置上有许些不同

最关键的是就是添加jdbc的包到lib中
我跟着书上 在web包下新建lib后直接在本机拖动jdbc的java文件到这个文件夹中 直接导致了我认为了这一步算是成功配置jdbc文件

不过确实在我的代码中有个bug导致报java.lang.NullPointerException
并且是在 ResultSet中报的 所以我一直没有想到是建立连接那一步错了

接下讲 我怎么解决的
我在SqlSrvDBConn类中写了一个主函数 来验证究竟是哪一步出了问题

        SqlSrvDBConn sqlSrvDBConn = new SqlSrvDBConn();
        String sql = "select * from usertable";
        sqlSrvDBConn.executeQuery(sql);
        ResultSet rs = sqlSrvDBConn.rs;
        if(sqlSrvDBConn.conn==null) {
            System.out.println("Conn is null");
        }
        if(rs==null){
            System.out.println("Error");
            return ;
        }
        try{
            while(rs.next()){
                System.out.println(rs.getString("username"));
            }
        }catch(SQLException e){
            System.out.println(e.getMessage());
        }
    }

在这里成功出现我数据库中的数据之后 把可能NullPointerException的可能向上推

是否是我密码用户名出错了或者库名输错了 同样在检查过三遍之后 没有问题

这次我依然没有把错误的可能放在 Class.forName(“com.mysql.jdbc.Driver”)上

因为我觉得如果我本地跑得通的 tomcat也应该是跑得通的

所以我检查前端的信息传递和验证页上去了 同样在检查过三遍之后 没有问题

那么所有问题都解决之后 最不可能出现问题的地方 就是 问题的所在

我在每次try后面catch异常中增加一步输出操作

    //在构造方法中创建数据库连接
    public SqlSrvDBConn(){
        stmt = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
        }catch(Exception e){
            System.out.println("Class is error");
        }
        try{
            String uri = "jdbc:mysql://localhost:3306/test?useSSL=true";
            String user = "host";
            String password = "HanDong85";
            conn = DriverManager.getConnection(uri,user,password);
        }catch(Exception e){
            System.out.println("Connection happened error");
            e.printStackTrace();
        }
    }

    public ResultSet executeQuery(String sql){
        try{
//            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
            stmt = conn.createStatement();
            rs = stmt.executeQuery(sql);
        }catch(SQLException e){
            System.out.println("Data.executeQuery:"+e.getMessage());
        }
        return rs;
    }
    //关闭 对象
    public void closeStmt(){
        try{
            stmt.close();
        }catch(SQLException e){
            System.out.println("38行出错啦!!!!");
            System.out.println("Data.executeQuery:"+e.getMessage());
        }
    }

    public void closeConn(){
        try{
            conn.close();
        }catch(SQLException e){
            System.out.println("Data.executeQuery:"+e.getMessage());
        }
    }

然后运行
这里写图片描述
呃 看来果然是包在java ee导入tomcat的时候 出了问题

然后想了一下 应该怎么 查了半个小时资料 找到了解决方法

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

到了这里就成功解决了这个问题 然后验证一下

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值