WEB开发异常:java.lang.ClassNotFoundException: Serveltone
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@6c4fc156
Serveltone
java.lang.ClassNotFoundException: Serveltone
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
2015-2-10 21:01:08 org.apache.catalina.core.StandardWrapperValve invoke
严重: Allocate exception for servlet Serveltone
java.lang.ClassNotFoundException: Serveltone
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619) 展开
您好,您可以参考以下方法:
BEA WebLogic Portal 9.2是面向基于Java应用开发的一款应用服务器。安装程序包括BEA Workshop for WebLogic 。
Platform,这是用于迅速构建Web服务的一种IDE。我们决定使用WebLogic,因为它在业界的应用很广泛,而且易于构建Web服务。内容导航
Crosscheck Networks SOAPSonar是一个Web服务测试客户程序,它使用WSDL,并且可以为目标Web服务生成功能、性能、互操作性和漏洞等测试。 未保护的Web服务。 第一个Web服务悄肆根本没有防范不利条件的机制。如以下代码所示,这个基本方法读入几个双精度输入,然后除数除被除数,返回作为结果的双精度值。
Code highlighting produced by Actipro CodeHighlighter
(freeware)
http://www.CodeHighlighter.com/
package mathservice;
import javax.jws.*;
@WebService
public class DivideWS
{
@WebMethod
public double nakedDivide(double dividend, double divisor)
{
return dividend/divisor;
}
}
测试显示了nakedDivide(…) Web方法的行为:正面测试显示,Web服务对输入数字进行了正常除法。
如果输入了零除数,应用服务器就会进行恰当处理,并返回INF值;如果被除数或者除数什么也没有输入,就会显示详细的堆栈跟踪,还有关于XML处理内部的列表信息,譬如串行化器、SOA服务器协议处理程序和实现平台。
一般而言,堆栈跟踪信息对Web服务使用者毫无用处,使用者也没有多少办法可以从这样的通用、冗长的异常中恢复过来。这不像一组简单的文档返回代码发送到客户程序、从除以零或者空值异常中轻松恢复过来。发送到客户程序的堆栈跟踪信息不但毫无用丛中处、代码上不可执行,它还可能会把实现细节传送给外部使用者,有可能被人进一步利用。
防御性Web服务:
下面的代码片显示,防御性Web服务defensiveDivide(…)建立在前一个方法nakedDivide(…)上的基础上,添加了简单的检查机制查看除数是不是零。这可以确保除以零错误不会出现。如果除数是零,该方法就会返回0,那样调用程序就可以从不合适的零除数输入中恢复过来。在这种方法中,编程人员预料到了边界条件,编写防御性代码来处理它。
Code highlighting produced by Actipro CodeHighlighter
(freeware)
http://www.CodeHighlighter.com/
@WebMethod
启郑轿 public double defensiveDivide(double dividend, double divisor)
{
if (divisor
!=
0)
return dividend/divisor;
else
return 0;
}
几个正面和负面测试很快显示了defensiveDivide(…) Web方法的行为:正面测试显示,Web服务对输入数值进行了正常的除法;如果输入了零除数,不像nakedDivide(…)会在试图进行除法运算后,返回表示无限大的INF值,defensiveDivide(…)返回的是编程人员定义的显式0.0错误值,连除法运算试都不试一下;如果被除数或者除数什么也没有输入,就像nakedDivide()那样,就会显示详细的堆栈跟踪,还有关于XML处理内部的列表信息,譬如串行化器、SOA服务器协议处理程序和实现平台。
测试结果显示,虽然已经恰当地预料到并处理了除以零场景,但除此之外,防御性错误处理并没有多大作为。不过,编程人员只要避免用坏数据进行计算,就可以让defensiveDivide()比nakedDivide()更有效率。预料意味着可以提高程序效率。
容器安全的Web服务
下面,相除方法经过了改动,把字符串值作为输入值,而不是前几个例子中所预料的双精度值。这样,开发人员就可以通过编码来控制输入值的正确性,而不是让方法抛出运行时异常、让容器去处理。如果让容器来处理异常,编程人员就失去了控制权,对编程人员可以处理的预料到的边缘条件而言更是如此。
字符串除数和被除数先用try-catch代码块转换成双精度数。如果转换不成功,catch代码块就会找出异常,返回零值。转换成功后,检查除数是不是零值;
如果值不是零,运算就成功进行。
Code highlighting produced by Actipro CodeHighlighter
(freeware)
http://www.CodeHighlighter.com/
@WebMethod
public double defensiveStringDivide(String dividend, String
divisor)
{
double dDividend;
double dDivisor;
try
{
dDividend =
Double.parseDouble(dividend);
dDivisor =
Double.parseDouble(divisor);
}
catch (Exception
e)
{
return 0;
}
if (dDivisor
!=
0)
return dDividend/dDivisor;
else
return 0;
}
测试显示了defensiveStringDivide(…)Web方法的行为:正面测试显示,Web服务对输入数值进行了正常的除法;
如果输入了零除数,像defensiveDivide(…)一样,该方法也是表现正常,不会发送带堆栈跟踪的SOA错误。该方法恰当地返回零值给Web服务使用者;
如果被除数或者除数什么也没有输入,或者输入非数值字符,该方法就会试图转换它,但转换失败,catch代码块会处理异常,然后返回零值。
defensiveStringDivide()方法比前两种方法来得严格。该方法可以显式防范用户输入随意的非数字值。它可以控制异常处理,并且防止利用非数值输入生成堆栈跟踪。借助防御性编码,编程人员就可以通过容器的异常处理结构来防止信息泄漏。使用这种防御性方法可以降低通过Web服务途径提取程序、解析程序和容器内部的可能性。
Web前端学习内容与要求
首先,做前端的话,你的眼光要看远。现在技术更新很快,如果你还在用什么幻灯片,灯箱效果,那你真不是做前端的料。只能说你是应付人员,或者说就是只会就应用别人写的效果代码而已
其次,要提升自己的价值。不要学会div+css,就不想学其它的技术了,要时时苛刻想到自己的危险处境,像懂div+css的人太多了,网上教程3天学会div+css,10天精通的资料一天堆。多去学点更多能提现你自身价值的东西,比如除div+css之外,可以学习一些后台语言php,java之类的
最后,分享,就是自己的价值要表现出来。中国没有jquery,没有smarty,这么好用的东西,中国缺的并不是能力,是分享。所有要学分分析,比如论坛,博客等信息量大的地方,不仅可以学到你不知道的,也可以增加自己的知识积累
广告 您可能关注的内容 |