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

时间:2020-12-18 13:39:03

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

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

然后是第二个配置问题 配置到java ee项目 到 Tomcat上
[JSP]idea部署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());
}
}

然后运行
[JSP]idea部署java ee 项目到 tomcat
呃 看来果然是包在java ee导入tomcat的时候 出了问题

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

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

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

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

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

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

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

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