1. 程式人生 > >MyEcplise中java連線MySQL資料庫的java.lang.NoClassDefFoundError: org/aspectj/lang/Signature問題

MyEcplise中java連線MySQL資料庫的java.lang.NoClassDefFoundError: org/aspectj/lang/Signature問題

我用的是ecplise3.2+myecplise5.1.1+Tomcat 5.0+MySQL5.0+jdk1.5
新建專案名為Test,然後在裡面新建了mysql.html和mysql.jsp
功能是把mysql.html寫的東西傳到mysql.jsp中
程式如下:
(2.1)mysql.html

<html>
<head>
<title>mysql.html</title>
</head>
<body>
<form name="form" action="mysql.jsp" method="post">
<p>姓:<input name ="last_name" type="text" id="last_name"></p>
<p>名:<input name="first_name" type="text" id="first_name"></p>
<p>
<input type="submit" value="提交">
<input type="reset" value="取消">
</p>
</form>
</body>
</html>

(2.2)mysql.jsp

<%@ page language="java" import="java.sql.*" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'mysql.jsp' starting page</title>
</head>
<body>
<h2>將資訊存人mysql 中</h2>
<%
Connection con=null;
Statement stmt=null;
Statement stmt1=null;
ResultSet rs=null;
request.setCharacterEncoding("gb2312");
String employee_id=null;
String last_name=request.getParameter("last_name");
String first_name=request.getParameter("first_name");
String birth="1986/10/10";
String sex="F";
String new_last_name="";
String new_first_name="";
%>
從mysql.html接收的資訊如下:<br>
姓:<%=last_name %>  
名:<%=first_name %>
<%
try
{
Class.forName("org.gjt.mm.mysql.Driver");
String url="jdbc:mysql://localhost/sample_db";
String user="root";
String pass="tiger";
con=DriverManager.getConnection(url,user,pass);
stmt=con.createStatement();
String upd="insert into employee(employee_id,last_name,first_name,birth,sex) values ("+employee_id+",'"+last_name+"','"+first_name+"','"+birth+"','"+sex+"')";
stmt.executeUpdate(upd);
stmt1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String query="select * from employee";
rs=stmt1.executeQuery(query);
rs.last();
new_last_name=rs.getString("last_name");
new_first_name=rs.getString("first_name");
stmt.close();
stmt1.close();
con.close();
}
catch(SQLException sqle)
{
out.println("sqle="+sqle);
}
finally
{
try
{
if(con!=null)
con.close();
}
catch(SQLException sqle)
{
out.println("sqle="+sqle);
}
}
%>
從employee中取出的新增姓名:<br>
新增姓名:<%=new_last_name+new_first_name %><br>
</body>
</html>

建立一個數據庫sample_db並在它下面新建了一個表employee,語句如下
create table employee(
employee_id int unsigned not null auto_increment primary key,
last_name varchar(15) not null,
first_name varchar(15) not null,
birth date not null,
sex enum('M','F') default 'M'
);

當我通過右擊專案名,然後選擇properties->java build path,選擇Libraries標籤,
單擊Add Externar JARs把mysql-connector-java-5.0.6-bin.jar和mysql-connector-java-5.0.6-bin-g.jar


這2個包加進去時,在mysql.html提交時,會出現如下異常
javax.servlet.ServletException: org.gjt.mm.mysql.Driver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.mysql_jsp._jspService(mysql_jsp.java:141)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:148)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:69)
java.lang.ClassLoader.loadClassInternal(Unknown Source)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Unknown Source)
org.apache.jsp.mysql_jsp._jspService(mysql_jsp.java:91)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


意思是說沒有找到jdbc驅動:ClassNotFoundException
於是我就把剛才加的2個包給移除了
這時我把剛才2個包拷貝到該專案的lib目錄下:Test/WebRoot/WEB-INF/lib
重啟tomcat,在mysql.html提交時,又出現如下異常
javax.servlet.ServletException: org/aspectj/lang/Signature
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.mysql_jsp._jspService(mysql_jsp.java:141)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Unknown Source)
org.apache.jsp.mysql_jsp._jspService(mysql_jsp.java:91)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

我上網搜了一下是什麼原因,說是少了這個jar包aspectj-1.5.3.jar
於是下了一個,網址是從http://www.eclipse.org/aspectj/downloads.php
解開aspectj-1.5.3.jar 將其中下面的lib包裡面的aspectjrt.jar包放到該專案的lib目錄下:Test/WebRoot/WEB-INF/lib
即現在該專案lib目錄下有3個jar包:mysql-connector-java-5.0.6-bin.jar,
mysql-connector-java-5.0.6-bin-g.jar,aspectj-1.5.3.jar
重啟tomcat然後執行專案,一切正常

相關推薦

MyEcplisejava連線MySQL資料庫java.lang.NoClassDefFoundError: org/aspectj/lang/Signature問題

我用的是ecplise3.2+myecplise5.1.1+Tomcat 5.0+MySQL5.0+jdk1.5新建專案名為Test,然後在裡面新建了mysql.html和mysql.jsp功能是把mysql.html寫的東西傳到mysql.jsp中程式如下:(2.1)mysql.html <html

@EnableAspectJAutoProxy:java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Pointcut

@EnableAspectJAutoProxy註解版本不相容出現的異常 org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.springframework.ao

nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around

缺少aop jar包: <aspectjrt.version>1.6.8_2</aspectjrt.version>         <aspectjweaver.version>1.6.8_2</aspectjweaver.ver

eclipsejava連線mysql資料庫

java連線mysql資料庫的基本操作 由於本人不會在CSDN中新增圖片 所以  一下解釋的圖片放在了相簿中; 在專案中匯入jar的方法截圖如下: 選擇addExternal然後根據提示匯入jar

ERROR:java連線mysql資料庫8.0以上版本

先上解決辦法: 1、修改jdbc.properties    原來是: jdbc.url=jdbc:mysql://localhost:3306/language_protection?useUnicode=true&characterEncoding=UTF

Java連線Mysql資料庫警告 Establishing SSL connection without server'

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

關於Java連線mysql資料庫驅動載入

第一步準備工作: 在官網https://dev.mysql.com/downloads/connector/j/下載mysql驅動   下載完後開啟資料夾   複製mysql-connector-java-8.0.13.jar檔案 第二步開啟e

JAVA連線MySQL資料庫

package com.coding.test; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.C

Java 連線 MySQL 資料庫方法

Java 連線 MySQL 資料庫方法 1、傳統的連線方式 # 動態載入mysql驅動 Class.forName("com.mysql.jdbc.Driver"); 獲取連線

【JDBC程式設計】Java 連線 MySQL資料庫基礎、入門和進階

Content: 常用的JDBC API 資料庫環境的搭建 建立資料庫連線 資料庫訪問優化 一. 常用的JDBC API 1. DriverManager類 : 資料庫管理類,用於管理一組JDBC驅動程式的基本服務。應用程式和資料

Java連線MySQL資料庫8.0以上版本遇到的坑(The new driver class is `com.mysql.cj.jdbc.Driver)

我遇到了java無法連線mysql資料庫8.0.1的問題。         報錯:Loading class `com.mysql.jdbc.Driver'. This is deprecated.

java連線Mysql資料庫失敗

問題 無法連線到資料庫:可能是因為匯入的mysql-connector-java-x.x.xx.jar版本過低,無資料庫版本不匹配。解決辦法:下載最新的包匯入,同時更改jdbc.driverClass = com.mysql.dbc.Driver為jdbc.driverClass = co

IDEA java連線mysql資料庫,實現對資料庫的增刪改查

先上程式碼: package Database_Demo; import java.sql.*; public class DataBase { public static void main(String[] args) { Connect

JAVAJAVA連線MySql資料庫

步驟:1.eclipse工具連線工具:eclipse   MySQL5.6   MySQL連線驅動:mysql-connector-java-5.1.27.jar   http://cdn.mysql.com//Downloads/Connector-J/mysql-conn

Java連線mysql資料庫攻略

  2. 連線mysql  輸入:mysql –h localhost –u root –p  輸入在安裝時已設好的密碼,就近入了mysql的命令編輯介面了。  3. 使用mysql的基本命令(在mysql命令列編輯每輸入完命令後最後一定要有分號,不然會報錯)  顯示資料庫:show databases;  

java連線MySQL資料庫 json資料前後端互動

先在下圖資料夾中匯入相應的jar包,其中第一個紅框中的是使用json資料需匯入的7個包,第二個紅框是用JDBC連線MySQL資料庫必須的包。 連線MySQL的工具類: package com.XXXXXX.util; import java.sql

java連線MySql資料庫 實現使用者登入功能

一: 準備工作        1.首先將MySql的jar包匯入專案檔案中,在進行連線。(Build path--> Add)        2.寫好配置檔案(dbinfo.properties)        3.               4.建立相應的類進行。二

java連線MySQL資料庫DB類底層框架程式碼實現

前言:用java連線MySQL資料庫程式碼都是十分固定的,所以直接將一些固定的程式碼寫在一個DBmanager類中可以省去許多重複的工作,連線不同MySQL資料庫只需改變user和password即可。為了方便大家,我已經將程式碼總結出來。 程式碼塊 i

Java連線mysql資料庫經典程式碼

連其他資料庫方式與以下方式類似。 package dao.impl; import java.sql.Connection; import java.sql.DriverManager; import

java連線mysql資料庫實現單條插入和批量插入

1、連線資料庫 package com.njupt.ymh; import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.Connection; public