一些bug

一.常见问题

1.Java中编译总是@override报错,把@override去掉就好了

jdk的问题
1.确保安装了jdk 1.6,选择Myeclipse的Windows->Preferences–>java->Compiler–>compiler compliance level选择 1.6,刷新工程,重新编译。
2.如果问题还没解决,就在报错的工程上,鼠标右键选择 Properties–>Java Compiler–>compiler compliance level 中选择 1.6,刷新工程,重新编译。
原因:JDK5就已经有了@Override,但是不支持对接口的实现

2.在解MyEclipse时出现ACTIVATION_KEY*******Please choose plugins folder

打开菜单Tools->ReplaceJarFile,弹出文件选择对话框,到myeclipse的安装目录common文件夹下选择plugins文件夹,点击打开,程序会卡住,不要担心,正在替换文件呢!一会之后,会输出信息,文件已被替换!出错了,在Common目录下并没找到plugins文件夹原因是在C:\Users\Administrator\AppData\Local\Genuitec下已经存在,所以解决的办法就是将Genuitec文件夹全部删除,然后重新安装MyEclipse10

二.JDBC

org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown database ‘mybase’)

出现原因:由于是在不同的设备进行的项目的运行,因为数据库连接名不对应,所以报错了。以后报类似的错误的话,首先检查连接(蓝色框的地方)是否存在不对应或者拼写错误。在这里插入图片描述

2.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘???’ in 'field list’

出现这个问题的原因 只有entity的属性名和数据库表的列对应错误。

三.TomCat

1.The CATALINA_HOME environment variable is not defined correctly.This environment variable is needed to run this program

在Tomcat配置时,出现这个问题,就将环境变量里面的CATALINA_HOME删除掉就可以了

2.在编译一个包含有javax.servlet包的java文件,打开cmd,输入javac HelloServlet.java会报程序包javax.servlet不存在import javax.servlet.*;

package web;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class HelloServlet extends HttpServlet{
	public void service (HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{
		response.setContentType ("text/html");
		PrintWriter out = response.getWriter();
		out.println("<h1>Hello Servlet</h1>");
		out.close ();
	}	
}

原因是java编译器没有找到软件包javax.servlet。从tomcat lib目录下拷贝一个servlet-api.jar的包到“JDK\jre\lib\ext”目录下再编译就能够通过。

3.解决tomcat可以访问默认页面不能访问webapp下的指定项目

1.路径写错
2.文件夹和文件名都不能出现中文
3.html文件必须是放在webapps中一个新建文件夹里
4.找到配置文件如下conf/web.xml --> tomcat的Web配置文件,value改成 true就行了
<init-param><param-name>listings</param-name><param-value>true</param-value></init-param>
5.在.class文件没错,如果删掉xml,html能运,差不多就是xml的问题。

四.Servlet

1.在tomcat里部属web程序,访问servlet时总是弹出文件下载安全警告

"type/html;charset=utf-8"不是type 而是text

2.java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at web.ActionServlet.service(ActionServlet.java:79)

传过来的字符串是空的,所有也无法使用强转为double类型

3.遇到The import org.apache.commons cannot be resolved 的报错

文件夹中的lib包没有添加相关jar

4.404错误,405错误,500错误

404错误:服务器依据请求资源路径找不到对应的资源。
错误原因:请求地址写错(拼写,字母大小写),<servlet-name>不一致,<servlet-class>写错,工程没有部署。
解决方式:依据http://ip:port/appname/servlet-url检查请求地址,检查web.xml文件。
405错误:方法异常。
错误原因:service方法名不正确
解决方式:检查service方法名(方法名、返回类型、参数类型、代码运行时抛出的异常类型)。
500错误:运行时出错。
错误原因:配置文件类名写错了,Servlet类没有继承HttpServlet或实现Servlet接口,程序代码写错。
解决方式:检查web.xml文件,servlet-class中有没有把类名写错(必须是完整类名,检查程序代码。
302错误是重定向,304是查找本地缓存
参考:https://blog.csdn.net/zhydream77/article/details/81836715

五.JSP

org.apache.jasper.JasperException: /exe2.jsp (line: 1, column: 2) Page directive has invalid attribute: pageEcoding

以下代码拼写出错,或者将utf-8改成UTF-8

<%@ page language="java" import="java.io.*,java.sql.*,java.util.*" pageEncoding="utf-8"%>

后续更新…

发布了14 篇原创文章 · 获赞 2 · 访问量 390

猜你喜欢

转载自blog.csdn.net/weixin_43908649/article/details/104181506