1、The superclass”javax.servlet.http.HttpServlet” was not found on the Java Build path
当使用JSP+Servlet进行dynamic web开发时,在JSP页面报以上错误。
解决方法
首先检查build path
其次检查pom
添加以下dependency
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
最后进行build
project->build project
2、java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
必须把mysql-connector-java-5.1.7-bin.jar导入到tomcat的lib目录下面
在java项目中,只需要引入mysql-connector-java-5.1.7-bin.jar就可以运行java项目。
在web项目中,当Class.forName(“om.mysql.jdbc.Driver”);时myeclipse是不会去查找字符串,不会去查找驱动的。所以只需要把mysql-connector-java-5.1.7-bin.jar拷贝到tomcat下lib目录就可以了。
3、web项目无法部署到Tomcat服务器上
问题描述:
当向tomcat服务器上添加新的项目时出现 Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web modules错误
或者选择Run on server时出现以下无法添加server的情况
问题解决:
1、项目右键->properties->Project Facets->勾选下图所示的三项:
2、若问题依然存在,择在上图勾选的三项后面的Version选项下拉三角形中选择低一些的版本,保存后重新运行项目
3、若在上图中无法修改,或者报错,则找到项目所在文件夹中的.setting文件夹,打开org.eclipse.wst.common.project.facet.core.xml文件,修改图中所示位置,将版本号降低一些。
4、java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.BasicDataSource cannot be cast to org.apache.tomcat.jdbc.pool.DataSource
问题描述
使用Tomcat7配置JNDI,在运行时发生上述错误,我的context.xml相关配置如下:
<Resource
name="jndi/mysql"
auth="Container"
type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/db_person"
username="root" password="admin"
maxActive="20" maxIdle="10"
maxWait="10000" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
/>
问题解决
原因是因为刚开始配置的时候没有配置factory=”org.apache.tomcat.jdbc.pool.DataSourceFactory,添加以后就好了
5、修改log4j配置文件后不生效
问题描述
修改log4j相关配置文件,比如输出路径,输出方式后不生效,程序运行时还是按照原先的配置运行。
问题解决
1、项目全局范围内查找你的配置文件,看看有没有被重名的文件覆盖。比如配置文件名叫log4j.properties。使用search file..功能,找到这个关键词或者文件所在位置
2、看看有没有别别的包的重名文件覆盖。 如果不是的话很可能是没有重新build。
3、查找build文件夹,如果发现修改之前的配置文件,将其删除重新build。