java.lang.NullPointerException错误处理方法及原因分析

合集下载

处理空指针异常的七种方法

处理空指针异常的七种方法

处理空指针异常的七种方法处理空指针异常(NullPointerException)的方法有很多种,主要取决于异常产生的原因和上下文。

以下是一些常见的处理方式:1.检查并处理可能的空值:这是处理空指针异常的最基本方式。

在访问对象的属性或方法之前,先检查对象是否为null。

如果是null,就进行适当的处理,例如返回一个默认值或者抛出一个更有意义的异常。

例如:String str = getSomeString();int length = (str != null) ? str.length() : 0;2.使用Optional类:Java 8引入了Optional类,可以更好地处理可能为null的情况。

使用Optional可以避免空指针异常,并且使代码更易于理解和维护。

例如:Optional<String> optionalStr = Optional.ofNullable(getSomeString());int length = optionalStr.map(String::length).orElse(0);3.使用异常处理:如果某些情况下空指针异常不可避免,可以使用try-catch语句来捕获并处理它。

在catch块中,可以记录日志、抛出自定义异常或者进行其他处理。

例如:try {// 可能会抛出NullPointerException的代码块} catch (NullPointerException e) {// 处理空指针异常的代码块,例如记录日志、抛出自定义异常等}4.重构代码:如果空指针异常是由于代码结构或者设计问题引起的,那么可能需要重构代码来避免这种异常。

例如,通过使用设计模式、创建更清晰的API或者封装可能为null的对象等方法。

5.利用IDE的帮助:许多集成开发环境(IDE)如IntelliJ IDEA或Eclipse都有强大的代码分析工具,可以帮助识别并预防空指针异常。

Java异常(Exception)处理以及常见异常总结

Java异常(Exception)处理以及常见异常总结

Java异常(Exception)处理以及常见异常总结⽬录前⾔异常简介异常类型总结前⾔很多事件并⾮总是按照⼈们⾃⼰设计意愿顺利发展的,经常出现这样那样的异常情况。

例如:你计划周末郊游,计划从家⾥出发→到达⽬的→游泳→烧烤→回家。

但天有不测风云,当你准备烧烤时候突然天降⼤⾬,只能终⽌郊游提前回家。

“天降⼤⾬”是⼀种异常情况,你的计划应该考虑到这样的情况,并且应该有处理这种异常的预案。

计算机程序的编写也需要考虑处理这些异常情况。

异常(exception)是在运⾏程序时产⽣的⼀种异常情况,已经成为了衡量⼀门语⾔是否成熟的标准之⼀。

⽬前的主流编程语⾔java也提供了异常处理机制。

异常简介Java中的异常⼜称为例外,是⼀个在程序执⾏期间发⽣的事件,它中断正在执⾏程序的正常指令流。

为了能够及时有效地处理程序中的运⾏错误,必须使⽤异常类,这可以让程序具有极好的容错性且更加健壮。

在 Java 中⼀个异常的产⽣,主要有如下三种原因:1. Java 内部错误发⽣异常,Java 虚拟机产⽣的异常。

2. 编写的程序代码中的错误所产⽣的异常,例如空指针异常、数组越界异常等。

3. 通过 throw 语句⼿动⽣成的异常,⼀般⽤来告知该⽅法的调⽤者⼀些必要信息。

Java 通过⾯向对象的⽅法来处理异常。

在⼀个⽅法的运⾏过程中,如果发⽣了异常,则这个⽅法会产⽣代表该异常的⼀个对象,并把它交给运⾏时的系统,运⾏时系统寻找相应的代码来处理这⼀异常。

我们把⽣成异常对象,并把它提交给运⾏时系统的过程称为拋出(throw)异常。

运⾏时系统在⽅法的调⽤栈中查找,直到找到能够处理该类型异常的对象,这⼀个过程称为捕获(catch)异常。

例 1为了更好地理解什么是异常,下⾯来看⼀段⾮常简单的 Java 程序。

下⾯的⽰例代码实现了允许⽤户输⼊ 1~3 以内的整数,其他情况提⽰输⼊错误。

package io.renren.config;import java.util.Scanner;/*** Created by LiYangYong*/public class TestException {public static void main(String[] args) {System.out.println("请输⼊您的选择:(1~3 之间的整数)");Scanner input = new Scanner(System.in);int num = input.nextInt();switch (num) {case 1:System.out.println("one");break;case 2:System.out.println("two");break;case 3:System.out.println("three");break;default:System.out.println("error");break;}}}正常情况下,⽤户会按照系统的提⽰输⼊ 1~3 之间的数字。

java空指针异常:java.lang.NullPointException

java空指针异常:java.lang.NullPointException

java空指针异常:ng.NullPointException⼀.什么是java空指针异常我们都知道java是没有指针的,这⾥说的"java指针"指的就是java的引⽤,我们不在这⾥讨论叫指针究竟合不合适,⽽只是针对这个异常本⾝进⾏分析。

空指针就是空引⽤,java空指针异常就是引⽤本⾝为空,却调⽤了⽅法,这个时候就会出现空指针异常。

可以理解,成员变量和⽅法是属于对象的(除去静态),在对象中才存在相对应的成员变量和⽅法,然后通过对象去调⽤这些成员变量和⽅法。

对于空指针来说,它不指向任何对象,也就没有所谓的成员变量和⽅法,这个时候⽤它去调⽤某些属性和⽅法,当然会出现空指针异常。

public class Test {private int a=1;private int b=2;public static void main(String[] args) {// TODO Auto-generated method stubTest t1 = new Test();Test t2 = null;System.out.println(t1.a);System.out.println(t2.a);System.out.println(t2.c());}public String c(){return "123";}}我们分析上⾯这段⽰例代码,在Test类中,有两个成员变量a和b,和⼀个⽅法c()。

然后在main()⽅法中,我们创建了两个对象t1和t2,其中t1指向通过构造⽅法实例出的Test对象,⽽t2只是声明,并指向了空,并没有指向实际的对象。

调试的时候,第⼀条输出语句是可以通过编译的,⽽执⾏到第⼆条输出语句的时候,由于空指针调⽤了不属于它的a,程序终⽌,报告空指针异常。

同样,注释第⼆条输出语句,程序在执⾏到第三条输出语句的时候,由于调⽤了不属于它的c()⽅法,会出现⼀样的错误。

新人踩坑的一天——springboot注入mapper时出现java.lang.NullP。。。

新人踩坑的一天——springboot注入mapper时出现java.lang.NullP。。。

新⼈踩坑的⼀天——springboot注⼊mapper时出现ng.NullP。

来公司的第⼆周接到了定时任务的开发需求:每天早上⼗点发送⽤户报表邮件。

校招新⼈菜鸟没做过这玩意有些懵(尴尬)于是决定分步写,从excel导出->邮件发送->定时器实现->mapper层返回集接收,前⼏步都没啥问题,都在service层,可以⽤main⽅法单独测试下,可以发送邮件,但是通过service调⽤mapper时问题就来了——菜鸟踩坑了,抛出ng.NullPointerException,下图是代码:@Component@EnableScheduling@Service("cronTaskService")public class CronTaskServiceImpl implements CronTaskService {@Resourceprivate ExportExcelServiceImpl exportExcelService;@Resourceprivate MailSendServiceImpl mailSendService;private final static Logger log = LoggerFactory.getLogger(CronTaskServiceImpl.class);private static int Count = 0;@Scheduled(cron = "*/10 * * * * ?")@Overridepublic void out(){new ExportExcelServiceImpl().exportExcel("zhoubaobiao1");//String filePath = exportExcelService.exportExcel("周报表" + Count++ + ".xls");//mailSendService.sendEmail(filePath);("-----------success-------\n");}}问了组内的前辈(应该也是没做⼏年),问题解决不了,定位不对。

java的常见问题及解决方法

java的常见问题及解决方法

1."mons.collections.SequencedHashMap"'s signer information does not match signer information of other classes in the same package这是由于struts提供的commons-beanutils.jar和hibernate提供的commons-collections.jar冲突成的,可以从spring提供的lib中找到这个两个jarng.IllegalStateException: No data type for node:org.hibernate.hql.ast.tree.IdentNode用hql 时,忘了给表名加别名,如select p from Position,应该是select p from Position p3.The Server didn 't send back a proper XML response用FCKEditor时原因:解析不了xml文件解决方法:情况一:web.xml的配置是否正确,具体查看《FCKEditor使用指南.pdf》,还有fckeditor自带的几个jar 包情况二:加入serializer.jar,xalan.jar情况三:把项目下的fckeditor包删了,重新加入一遍.eclipse.swt.SWTError: No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]SWTError:没有更多的处理[未知Mozilla的路径(MOZILLA_FIVE_HOME未设置)]环境:linux下运行swt程序(我出现此问题是,在linux下嵌套浏览器)原因:firefox版本不一致解决:重装一个firefox,并设置相关变量5.Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Could not detect registered XULRunner to use]环境:用XULRunner 在java application中嵌套浏览器原因:没有注册XULRunner解决:window下环境中,在程序中加入,如(第二个参数是下载解压后的存放路径):static{System.setProperty("org.eclipse.swt.browser.XULRunnerPath", "C:\\xulrunner");}6.Exception in thread "main" ng.UnsatisfiedLinkError: noswt-win32-3536 or swt-win32 in swt.library.path, java.library.path or the jar file环境:用DJ Natvie Swing时,在java application中嵌套浏览器,且在windows环境下运行正常,但在linux下却包此异常原因:windows下与linux下使用的swt jar包不一样解决:在windows下用swt-3.5M6-win32-win32-x86.jar,在linux下用swt-3.5.1-gtk-linux-x86.jar7.Exception in thread "main" .ProtocolException:cannot write to a URLConnection if doOutput=false - call setDoOutput(true)环境:用URLConnection送某url发送数据时原因:doOutput=false时,不能发送数据解决:如urlConnection.setDoOutput(true).SocketException: Connection resetat .SocketInputStream.read(SocketInputStream.java:168)at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)at java.io.InputStreamReader.read(InputStreamReader.java:167)at java.io.BufferedReader.fill(BufferedReader.java:136)at java.io.BufferedReader.readLine(BufferedReader.java:299)at java.io.BufferedReader.readLine(BufferedReader.java:362)at com.eagle.service.AutoUpdate.run(AutoUpdate.java:43)环境:j2se socket编程时,服务器端报错原因1:服务器端用BufferedReader,时,没有读到一行解决:客户端用PrintWriter, pw.println(),不能用pw.print(),因为br.readLine()是读一行环境:j2se socket编程时,服务器端/客户端在br.readLine()时报错原因2:服务器端用BufferedReader,br.readLine()时,客户端/服务器已经退出,但是并未通过服务器/客户端,即服务器端/客户端的socket还没有关闭,当用br.readLine()时就会出现这种情况解决:在关闭客户端时要socket.close(),同时还要向服务器发送一条退出的信息,这样让服务器知道某个客户端已经关闭,它就可以终止对此客户端的线程了,反之服务器也是一样.hibernate.PropertyAccessException: Null value was assigned toa property of primitive type setter of er环境:hibernate原因:oolean类型的值为null,boolean类型的值必须是true/false解决:save or update时给boolean类型的值赋true/false10.用占位符查询时出现空指针ng.NullPointerExceptionatorg.hibernate.hql.ast.ParameterTranslationsImpl.getNamedParameterExpectedType(ParameterTranslat ionsImpl.java:63)at org.hibernate.engine.query.HQLQueryPlan.buildParameterMetadata(HQLQueryPlan.java:245)at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:95)at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:54)at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71)at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1583)at .struts.action.LoginAction.execute(LoginAction.java:72)at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)atorg.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11Ba seProtocol.java:664)at .PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)at .LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)at ng.Thread.run(Thread.java:595)环境:hibernate原因:HQL 不能解析解决:错误写法:String hql = "select m from com.eagle.oa.model.Message m where m.ids like: id";正确写法:String hql = "select m from com.eagle.oa.model.Message m where m.ids like:id";ng.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!原因:在使用hibernate的session.createQuery(.....)时设置参数的下标应该从0开始解决:如:return session.createQuery("from User u where erName = ? and password = ?").setParameter(0, name).setParameter(1, password).uniqueResult();.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.wxj.entities.Group环境:hibernate原因:某个实例的属性一个对象,这个对象没有保存,还是暂态的对象解决:先保存这个对象,或是在另一端加inverse = true13.ORA-01461: can bind a LONG value only for insert into a LONG column环境:oracle原因:jar冲突解决:换成classes12.jar包即可14.ERROR LazyInitializationException:19 - could not initialize proxy - the owning Session was closed环境:SSH原因:当一个类或属性设置了lazy="true",操作对象时,session已经关闭了解决:使用Spring的过滤器openSessionInView.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into MIT/AUTO or remove 'readOnly' marker from transaction definition.环境:SSH原因:这个异常产生的主要原因是DAO采用了Spring容器的事务管理策略,如果操作方法的名称和事务策略中指定的被管理的名称不能够匹配上,spring 就会采取默认的事务管理策略(PROPAGATION_REQUIRED,read only).如果是插入和修改操作,就不被允许的,所以包这个异常解决:修改spring配置文件中相关事务管理部分mon.beans.ProbeException: There is no READABLE property named 'eid' in class 'com.wxj.entity.Student'环境:ibatis原因:在给对象做操作,设置参数时,指定的参数不是对象中有的属性,就会抛出此异常解决:核对对象的属性ng.OutOfMemoryError: PermGen space环境:很多,如ssh整合时原因:不断的更新class,造成应用重启,最终造成代码区的内存空间满了解决:方法很多,1重启,2增加代码区的大小,3少更新class,4有时可能是log4j造成的问题,建议使用common-loggin.jar 5,优化代码以下来自CSDN的jinhuiyu:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息,可以用如下方法解决(根据你的实际情况设置大小),但是这只是临时的解决方法,更重要的是改造你的CODE1.可以在windows 更改系统环境变量加上JAVA_OPTS=-Xms64m -Xmx512m2,如果用的tomcat,在windows下,可以在C:\tomcat5.5.9\bin\catalina.bat 中加上:set JAVA_OPTS=-Xms64m -Xmx256m位置在: rem Guess CATALINA_HOME if not defined 这行的下面加合适.3.如果是linux系统Linux 在{tomcat_home}/bin/catalina.sh的前面,加set JAVA_OPTS='-Xms64 -Xmx512'18.在客户端使用dwr时,即跨域访问时,出现“拒绝访问“及“找不到某个属性”的问题(在服务器端调用时却正常)环境:在客户端使用dwr原因:1。

Java中常见错误和异常解决方法(打印)要点

Java中常见错误和异常解决方法(打印)要点

ng.NullPointerException原因是:有空指针,有地址没赋值2.Exception in thread "main" ng.ArithmeticException: / by zero原因是除数是03.ArrayIndexOutOfBoundsException原因是:数组越界ng.NumberFormatException原因是:数字格式化有问题5.Unhandled exception type Exception原因是:没有进行异常处理6.进行国际化操作的时候遇到这样的错误:Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name Message, locale zh_CN答:因为在命令提示符中,是没有错误的解决方法是:在myeclipse中,会出现这个错误java国际化之Can't find bundle for base name1.初步学习最近在学习ResourseBundle时遇到了“Can't find bundle for base name ”这个错误搞了很久才解决了。

原因就是类路径问题要将属性文件放在类路径中!百度里很多都是教程但没有涉及到解决方法!2.中文显示:测试文件java 代码package com.lht.ResourseBundleStudy;import java.util.ResourceBundle;public class ResourseBundleDemo {public static void main(String[] args) {ResourceBundle resource = ResourceBundle.getBundle("test");System.out.print(resource.getString("msg0") + "!");System.out.println(resource.getString("msg1") + "!"); }}test.propertiesmsg0="Hello World"msg1="da jia hao"开始自己测试的时候:将属性文件放在bin/下也试过也不行无赖中就在google中搜索了一下终于在sun的java论坛(/thread.jspa?threadID=660477&messageID=4231534)中找到了线索下面是帖子的内容:I've solved the problem the best way possible. Basically what i've done is added a new class folder named config to the project home dir. Then i added this classfolder to the classpath in project properties. After doing all of this you only need to reference the properties file by "Email".Hope this helps anyone else who is having similiar problems.基本意思就是在src下建立classes(名字无所谓)文件夹将属性文件存放在下面,然后将这个文件夹加入类路径中!运行就可以了:加入类路径的方法:你的工程文件夹->properties->选择Libraries选项卡->Add Class Folder 将刚才建立的文件夹加入就可以了!结果如下:"Hello World"!"da jia hao";!2.中文显示在classes目录下建立message_CH.properties内容如下:ms0="大家好"同样用上面的测试文件!结果如下:"?ó????"!乱码怎么回事啊!在百度里搜索后找到了答案有以为网友写的很清楚:/3885062.html 下面引用如下:原理Property文件中,使用的编码方式根据机器本身的设置可能是GBK或者UTF-8。

java常见异常处理方案

java常见异常处理方案

JAVA常见异常1. ng.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是&quot;程序遇上了空指针&quot;,简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。

对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。

数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)2. ng.classnotfoundexception这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是&quot;指定的类不存在&quot;,这里主要考虑一下类的名称和路径是否正确即可,如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。

3. ng.arithmeticexception这个异常的解释是&quot;数学运算异常&quot;,比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。

4. ng.arrayindexoutofboundsexception这个异常相信很多朋友也经常遇到过,异常的解释是&quot;数组下标越界&quot;,现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。

解决Hmily与Feign冲突报错NullPointerException的问题

解决Hmily与Feign冲突报错NullPointerException的问题

解决Hmily与Feign冲突报错NullPointerException的问题⽬录Hmily与Feign冲突报错 NullPointerException解决⽅法ng.NullPointerException出现的⼏种原因及解决出现的原因Hmily与Feign冲突报错 NullPointerException在项⽬中使⽤了Hmily保证分布式事务的⼀致性,由于Hmily会注册⼀个 HmilyFeignInterceptor ,并且feign会将其添加到SynchronousMethodHandler 中的 requestInterceptors ,当feign客户端执⾏ HmilyFeignInterceptor 中apply⽅法public void apply(final RequestTemplate requestTemplate) {Transmiter.getInstance().transmit((x$0, xva$1) -> {requestTemplate.header(x$0, new String[]{xva$1});}, HmilyTransactionContextLocal.getInstance().get());}由于获取到的 HmilyTransactionContext 为 null ,所以抛出 NullPointerException 异常。

解决⽅法定义⼀个后置处理器,将没有被 @Hmily 注解的⽅法,移除 HmilyFeignInterceptor 。

package com.jz.shop.cart.service;import mons.utils.text.StringUtils;import feign.InvocationHandlerFactory;import feign.ReflectiveFeign;import feign.RequestInterceptor;import lombok.extern.slf4j.Slf4j;import org.dromara.hmily.annotation.Hmily;import org.dromara.hmily.springcloud.feign.HmilyFeignInterceptor;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.BeanPostProcessor;import org.springframework.cloud.openfeign.FeignClient;import org.springframework.core.annotation.AnnotationUtils;import ponent;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RestController;import ng.reflect.Field;import ng.reflect.Method;import java.util.List;import java.util.Map;/*** @author:JZ* @date:2020/6/1*/@Slf4j@Componentpublic class ShopFeignPostProcessor implements BeanPostProcessor {public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {return bean;}public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {// 对所有含有 @FeignClient 的bean进⾏处理if (StringUtils.isNotNull(AnnotationUtils.findAnnotation(bean.getClass(), FeignClient.class))) {// 排除含有 @Controller 和 @RestController 注解的beanif (StringUtils.isNotNull(AnnotationUtils.findAnnotation(bean.getClass(), Controller.class)) ||StringUtils.isNotNull(AnnotationUtils.findAnnotation(bean.getClass(), RestController.class))) {return bean;}try {// 获取代理类中的 FeignInvocationHandlerField h = bean.getClass().getSuperclass().getDeclaredField("h");boolean hAccessible = h.isAccessible();h.setAccessible(true);Object feignInvocationHandler = h.get(bean);/*** 获取 FeignInvocationHandler 中 dispatch 字段的 Map<Method, MethodHandler> dispatch 属性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.把数据库文件给导入到了SQL SERVER(或者其它数据库系统)里面。并且数据库系统正在运 行。 4.添加了数据源。 5.数据库源文件的系统类型匹配(不匹配重新建立数据库,源码里面一般含有数据库的表结构及内 容。),且数据库的连接密码正确。 6.JDBC驱动文件(或者其它)存在且放在tomcat的lib目录下面。 (msbase.jar,mssqlserver.jarmsutil.jar)
4.win+R->odbcad32-》回车-》添加-》选择SQL SERVER ->数据源名称应用数据库文件的名称。服 务器一般是 (local)->使用用户登录-》 填入sa +密码-》更改默认数据库为添加的-》下一步-》完成-》确定。
5.数据库系统类型是否匹配可在网站源码-》src-》...-》toolsbean-》DB.java(这里指数据库 连接的源码文件)找到这样一句 private final String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_Blog";这里就可以看到数据库 是SQL SERVER 以及连接用户名密码。private final String userName = "sa";private final String password = "sa";将其修改为你的。 但是我们这里只是修改的源码。这还不够。把改好的DB.java放到C盘根目录。启动cmd cd \ 命令 切换到C根目录。 用javac DB.java生成一个DB.class。把这个文件复制到WEB-INF->classes->....->toolsbean下 面替换原来的DB.class
下面开始说如何配置以上几项。
1.JAVA环境变量配置-》/java/j_55283.html。按照里面说的配置。最后测 试javac能否显示信息。显示成功完成此步。
2.网站源码-》WEB-INF-》lib里面的.jar包没有和tomcat的lib目录下的包重复。有的话把源码里
ng.NullPointerException错误处理方法及原因分析 _pc6资讯 ng.NullPointerException错误处理方法及原因分析 新闻 学院 软件 硬件 网络 报道 综合 IT人物 .Net ASP 办公 Word JSP PHP Excel SQL XML Wps Powerpoint 数据库 最近更新 | 软件分类 | 论坛转帖 | QQ下载 | 杀毒软件 系统 XP 非主流 Vista 黑客 Win2003 学上网 win7 菜鸟必读 win2008 QQ Linux 股票 谷歌 影视
没有查询到任何记录。
本类资讯排行
资讯总排行
MyEclipse的注册以及汉化方法图解
ng.NullPointerException处理之完整方案与 原因分析! ng.NullPointerException错误的神秘面纱!史 上最全,最深入的分析! 让你看完这篇不用再看下一篇 废话不多说。下面开始全面分析。(环 境:tomcat+sql server+jsp) 本质上。这个错误是数据库连接的错误(当然前提是 代码本身没错,因为我们说的是源码!)。 经过我舍友的仔细研究(他是个低调的人,所以就由
阅读本文后您有什么感想? 已有 380 人给出评价!
1
184
138
12
42

恶心
期待
难过
相关阅读 java学习:VisualAge使用技巧04-10-07 Java一点通:中文识别问题全解决办法04-10-07 我学习使用java的一点体会(八)04-10-07 我学习使用java的一点体会(七)04-10-07 Java学习:HSQLDB文档(一)04-10-07 Java开发精彩教程:JSF系列(三)04-10-07 我学习使用java的一点体会(三)04-10-07 JAVA开发精彩教程:JSF系列(二)04-10-07
Photoshop
CorelDraw
3DMAX
免费资源
女性
首页 → 技术开发 → java教程 → ng.NullPointerException错误处理方法及原因分析
ception错误处理方法及原 因分析
2012-5-14 1:52:00 来源: 作者:xy 2217 我要评论(0)
六条没配置完): 1.JAVA环境配置正确。 2.源码里面的包没有与tomcat的包冲突。
我帮他写了。必须达到以下条件(错误原因就是以下
热门软件教程
ng.NullPointerException错误处理方 java环境变量配置方法 SQL 2000/2005/2008 的收缩日志方法,和清理 要复制的lob 数据的长度(77639) 超出了配置 sql 2000升级到sql 2005后访问速度变慢图文 安装sql 2005时visual studio just-in-time SQL是什么意思?如何打开? sql server停止和重启命令 Flex与Java通信教程 iis设置让iis支持flv格式_2003 iis添加flv
/java/j_55284.html[2013/6/17 14:39:43]
ng.NullPointerException错误处理方法及原因分析 _pc6资讯
面的包删除。
3.SQL SERVER企业管理器。在数据库上右键-》所有任务-》附加数据库。把源码里面的数据 库.mdf文件选上。所有都选SA (一般是这样选择,选其它的话。连接数据库的时候得把用户名密码写对。)。确定。
6.把源码LIB下面的msbase.jar,mssqlserver.jarmsutil.jar(JDBC驱动)剪切到tomcat的LIB目 录下面。复制会存在包冲突。 OK。完了。怎么还不能还是没用?嘿嘿。最后还得把SQL SERVER 2000升级到SP4版本哦。这个就 不知道是什么原因了。反正这步是相当之关键。前面全部配置正确。如果没升级也还是连接不上 数据库。 这下可以测试了:http://localhost:8080/源码目录 是不是终于把主页显示出来了?
一个简单Java发邮件源代码 java中String类主要方法的使用 使用PHP集成Google Spreadsheets 数据 myeclipse中英文互换工具使用方法教程 jQuery和JavaScript 库的性能对比 Java编程复习笔记 SQL注入,数据类型 java中创建并初始化字符串方法 Flex与Java通信教程 使用GDB调试RB-tree的问题总汇

友情连接

网站地图
Copyright ? 2004-2012 PC6下载().All Rights Reserved 备案编号:湘ICP备10204221号
/java/j_55284.html[2013/6/17 14:39:43]
最新评论
热门评论
共有评论(0)条 查看全部评论
PC6网友
/java/j_55284.html[2013/6/17 14:39:43]
ng.NullPointerException错误处理方法及原因分析 _pc6资讯
关于本站

网站帮助

广告合作

下载声明
相关文档
最新文档