javaweb编程中常见的异常及处理方法.doc_第1页
javaweb编程中常见的异常及处理方法.doc_第2页
javaweb编程中常见的异常及处理方法.doc_第3页
javaweb编程中常见的异常及处理方法.doc_第4页
javaweb编程中常见的异常及处理方法.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 严重: Servlet.service() for servlet action threw exceptionjava.lang.IllegalArgumentException: argument type mismatch异常说明:参数类型不匹配原因:Struts框架中的ActionForm,主要有三大作用:给属性赋值,自动转型和数据的验证。其中,在数据类型的自动转换中,简化了程序员的代码量,但是,以Struts 1.2为例:ActionForm对java.util.Date类型的数据(但是默认有java.sql.Date)没提供转型。解决办法:1.Form中的日期类型使用String类型,在Action中自己处理类型转换(即在Action中对Form-POJO转换时手工处理)。2.Form中使用java.util.Date类型,自定义一个日期转换类DateConverter(需要实现Converter接口),然后在自定义的ActionServlet或者Action基类中注册DateConverter:ConvertUtils.register(new DateConverter(), Date.class)。方法二具体处理办法:1.先申明一个转换类package yg.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import mons.beanutils.ConversionException;import mons.beanutils.Converter;public class UtilDateConverter implements Converter Overridepublic Object convert(Class type, Object value) / TODO Auto-generated method stub System.out.println(UtilDateConverter.value= + value); if (value = null) return value; if (value instanceof Date) return value; Date d=null; if (value instanceof String) SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd); try d = sdf.parse(String)value); catch (ParseException e) / TODO Auto-generated catch block e.printStackTrace(); return d;2.再使服务器启动设使给类注册进去方法1.使用servlet注册package yg.util;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import mons.beanutils.ConvertUtils;/* 注册java.util.date转换器* author Administrator*/public class UtilDateConverterInitWithServlet extends HttpServlet Overridepublic void init() throws ServletException System.out.println(UtilDateConverterInitWithServlet.init(); ConvertUtils.register(new UtilDateConverter(), Date.class);其中web.xml文件加上UtilDateConverterInitWithServletcom.bjsxt.struts.UtilDateConverterInitWithServlet3方法2.使用struts中的plug-in进行注册package yg.util;import java.util.Date;import javax.servlet.ServletException;import mons.beanutils.ConvertUtils;import org.apache.struts.action.ActionServlet;import org.apache.struts.action.PlugIn;import org.apache.struts.config.ModuleConfig;public class UtilDateConverterInitWithPlugin implements PlugIn public void destroy() public void init(ActionServlet servlet, ModuleConfig config) throws ServletException System.out.println(UtilDateConverterInitWithPlugin.init(); ConvertUtils.register(new UtilDateConverter(), Date.class);其中struts-config.xml文件加上2. 严重: Servlet.service() for servlet jsp threw exceptionorg.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 22 in the generated java fileThe method getJspApplicationContext(ServletContext) is undefined for the type JspFactoryStacktrace:at piler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)at piler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)at piler.JDTCompiler.generateClass(JDTCompiler.java:439)at piler.Cpile(Compiler.java:334)at piler.Cpile(Compiler.java:312)at piler.Cpile(Compiler.java:299)at org.apache.jasper.JspCompilationCpile(JspCompilationContext.java:586)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterCernalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at filter.MyFilter.doFilter(MyFilter.java:31)at org.apache.catalina.core.ApplicationFilterCernalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)at org.apache.coyote.http11.Http11Pcess(Http11Processor.java:849)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHcess(Http11Protocol.java:583)at .JIoEndpoint$Worker.run(JIoEndpoint.java:454)at java.lang.Thread.run(Thread.java:619)2013-3-26 9:04:56 org.apache.catalina.core.ApplicationContext log信息: HTMLManager: init: Associated with Deployer Catalina:type=Deployer,host=localhost2013-3-26 9:04:56 org.apache.catalina.core.ApplicationContext

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论