接手别人的JavaEE项目之前运行正确,添加访问数据库后报tomcat异常

问题描述

接手别人的JavaEE项目之前运行正确,添加访问数据库后报tomcat异常

我重装了tomcat,重新导入了项目又再将我修改的添加进去,运行时报tomcat异常,所以应当不是环境问题

报错截图:

访问数据库按照MVC形式,数据显示在getData.jsp中,servlet为GetDServlet.java,
实现从数据库中取数据的类为getD.java,数据表对应的类为inemo_bean,

下面贴代码:

package Servlet;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
//import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.Bean.inemo_bean;

/**

  • Servlet implementation class GetDataServlet
    */
    @WebServlet("/GetDataServlet")
    public class GetDServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#HttpServlet()
      */
      public GetDServlet() {
      super();
      }

    /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
    • response)
      */
      protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      response.getWriter().append("Served at: ").append(request.getContextPath());
      GetD gd = new GetD();
      ArrayList al = gd.getArrayList();
      request.setAttribute("al", al);
      System.out.println("GetDataServlet.doGet()");
      }

    /**

    • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
    • response)
      */
      protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      // TODO Auto-generated method stub
      doGet(request, response);
      System.out.println("GetDataServlet.doPost()");
      }

}

package Servlet;

import java.sql.SQLException;
import java.util.ArrayList;

import com.Bean.inemo_bean;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;
import com.scut.older.db.DB;

/**

  • Servlet implementation class getData
  • */
    public class GetD {

    private Statement st = null;
    private ResultSet rs = null;
    private Connection ct = null;

    public ArrayList getArrayList() {

    ArrayList<inemo_bean> al = new ArrayList<inemo_bean>();
    String sql = "select * from sensor_data_inemo";
    ct = (Connection) new DB().getConn();
    st = (Statement) new DB().getStatement(ct);
    rs = (ResultSet) new DB().getResultSet(st, sql);
    
    try {
        while (rs.next()) {
            inemo_bean ib = new inemo_bean();
            ib.setId_sensor_data_iNEMO(rs.getInt("id_sensor_data_iNEMO"));
            ib.setDatetime(rs.getInt("datetime"));
            ib.setAccx(rs.getInt("accx"));
            ib.setAccy(rs.getInt("accy"));
            ib.setAccz(rs.getInt("accz"));
            ib.setGyrox(rs.getInt("gyrox"));
            ib.setGyroy(rs.getInt("gyroy"));
            ib.setGyroz(rs.getInt("gyroz"));
            ib.setMagx(rs.getInt("magx"));
            ib.setMagy(rs.getInt("magy"));
            ib.setMagz(rs.getInt("magz"));
            ib.setPress(rs.getInt("press"));
            ib.setTemp(rs.getInt("press"));
            ib.setAltitude(rs.getInt("altitude"));
            ib.setLongitude(rs.getInt("longitude"));
            ib.setLatitude(rs.getInt("latitude"));
    
            al.add(ib);
        }
    } catch (SQLException e) {
        e.printStackTrace();
        System.out.println("getData.getArrayList()");
        System.err.println("getdata()出错");
    } finally {
        closeSource();
    }
    return al;
    

    }

    private void closeSource() {
    try {
    if (rs != null)
    rs.close();
    if (st != null)
    st.close();
    if (ct != null)
    ct.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    public GetD() {
    super();
    }

}

<%@page import="com.Bean.inemo_bean"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Data from inemo

Get Data From DataBase -sensor_inemo_data

<%
ArrayList al = (ArrayList)request.getAttribute("al");
%>


<%
for (int i = 1; i <= al.size(); i++) {
inemo_bean inemo = al.get(i);
%>

    </tr>
    <%
        }
    %>
</table>
id_sensor_data_iNEMO datetime accx accy accz gyrox gyroy gyroz magx magy magz press temp altitude longitude latitude
<%=inemo.getId_sensor_data_iNEMO()%> <%=inemo.getDatetime()%> <%=inemo.getAccx()%> <%=inemo.getAccy()%> <%=inemo.getAccz()%> <%=inemo.getGyrox()%> <%=inemo.getGyroy()%> <%=inemo.getGyroz()%> <%=inemo.getMagx()%> <%=inemo.getMagy()%> <%=inemo.getMagz()%> <%=inemo.getPress()%> <%=inemo.getTemp()%> <%=inemo.getAltitude()%> <%=inemo.getLongitude()%> <%=inemo.getLatitude()%>

解决方案

谢谢大家我自己找到bug了,我的两个servlet在配置文件中写重复了

解决方案二:

自己打个断点,F6单步执行。找到报错的地方

解决方案三:

是不是tomcat中配置jndi时没配置正确

解决方案四:

tomcat里面的catalina里面清除下。

解决方案五:

仔细看看配置有没有错误!!

解决方案六:

谢谢大家我自己找到bug了,我的两个servlet在配置文件中写重复了

时间: 2024-11-17 16:59:48

接手别人的JavaEE项目之前运行正确,添加访问数据库后报tomcat异常的相关文章

springmvc-linux上部署javaEE项目springMVC的url不能访问

问题描述 linux上部署javaEE项目springMVC的url不能访问 系统框架使用Spring+SpringMVC+MyBatic 系统在window系统上能够正常访问. 系统在linux上可以访问静态资源和jsp,sevlet也可以就是不能访问@RequestMapping("XXX")这些注解配置的url.有知道原因的大牛.恳求赐教. 新用户没有分.谅解一下... 后台日记打印没有报错 解决方案 应该有过滤器对不能访问的路径进行了限制吧

一个有数据库支持的web项目,打包成war包时应该怎么配置数据库才能在别人电脑上也能运行?

问题描述 一个有数据库支持的web项目,打包成war包时应该怎么配置数据库才能在别人电脑上也能运行? 学生党,最近要交一项作业,编写一个数据库支持的web项目,然后打包成war包交上去,我想问对于数据库该怎么处理才能在其他电脑上运行时访问的也是我的数据库?用的是mysql 解决方案 你可以学习一下jdbc

用什么软件运行别人的java项目的代码

问题描述 用什么软件运行别人的java项目的代码 解决方案 解决方案二:装个jdk就可以了.如果项目是用某个ide建的,那还需要装那个ide(如elipse,jbuilder等)解决方案三:用tomcate发布后直接用浏览器查看.

2012 ++ 32-VS无法加载项目,未能正确加载解决方案中的一个或多个项目,有关详细信息,请参见“输出”窗口

问题描述 VS无法加载项目,未能正确加载解决方案中的一个或多个项目,有关详细信息,请参见"输出"窗口 输出窗口显示:无法加载项目文件 我的工程在自己电脑里能打开,要拿到其他电脑运行不能加载,项目加载失败.同样是VS2012,求解决办法. 解决方案 如果不能保证用户电脑上安装相同版本cuda,那么试试在引用的dll属性里面复制到本地项选TRUE,这样在编译的时候,相应的dll文件会输出到程序文件夹,在运行的时候,后先搜索这个dll调用. 解决方案二: 检查一下你的项目是否引用了等三方类库

c#-C# Winfrom项目,运行程序一段时间后提示“内在不足”的报错信息。

问题描述 C# Winfrom项目,运行程序一段时间后提示"内在不足"的报错信息. 在C# Winfrom项目,有一个form窗体,六个Panel控件(用于放置显示监控视频图像的用户自定义控件), 还有一个timer计时器控件(设置每隔2分钟调用其它六个监控视频图像放到对应的Panel控件) 目前遇到的问题是,监控点的视频图像有的由于网络好点显示加载视频图像快点,有的由于网络不是太好加载显示视频图像慢点. 在form窗体运行一段时间后,导致这个form窗体的六个Panel控件在轮流显示

devexpress-DevExpress,别人做的项目 页面无法打开

问题描述 DevExpress,别人做的项目 页面无法打开 之前别人做的项目,用到了devexpress的控件,在别人机器上可以运行,拿过来之后安装了相应的DevExpress破解版,然后用vs2008打开,某些页面,出现错误,打开视图设计器时,提示错误,未将变量引用设置到对象的实例,没有注册类 项目运行后相应的页面也无法打开. vb做的c/s项目

从svn上下载的android项目无法运行,ClassNotFound

问题描述 从svn上下载的android项目无法运行,ClassNotFound 同事那就可以运行,自已一运行就报Class Not Found 异常,检查过类名包名正常,build path也设置正确 解决方案 clean一下重新编译试试 解决方案二: AndroidManifest注册了没,clean一下,用android tools-->lint 检查一下. 解决方案三: clean一下重新编译试试 再看看是 那个文件没找到 解决方案四: sdk版本设置是否正确?

xamarin创建项目无法运行

问题描述 xamarin创建项目无法运行 新建了一个新项目都不能运行,报错,之前是好的. 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 "GetAdditionalResourcesFromAssemblies"任务的声明或使用不正确,或在构造过程中失败.请检查任务名称和程序集名称的拼写是否正确. App1 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 未能从"C:Program Files (x86)MSBuildXamarinAndroidXamari

为什么程序在vc6.0编译通过并且运行正确但是在编程挑战时提交后却是运行结果不对

问题描述 为什么程序在vc6.0编译通过并且运行正确但是在编程挑战时提交后却是运行结果不对 编程挑战试了几次都是结果不对,但是我在vc6.0编译后运行的结果是正确的啊! 解决方案 这个有很多原因,比如说,你的程序本身有bug,虽然可以通过某些测试用例,但是oj使用的是另外的用例,没有通过,或者是你的程序在运行时间和使用内存上不符合要求,或者你的程序输入输出部分有问题,使得oj程序没法传递正确的测试用例,以及获取你的输出.还可能你使用了额外的库,而oj没有,你的编译器和oj的不同,造成编译上的细微