又是一天的java web学习。对一天的学习做个总结。
总结一: java.lang.NoClassDefFoundError: Could not initialize class 错误解决办法。
1.首先查看tomcat相应项目中的WEB—INF/classes 中有没有生成该类的class文件,若没有,即该类有语法错误,没有编译成功。若有进行步骤2
2.如果该类是数据库工具类,很有可能是没有在tomcat中导入驱动。
3.如果是别的情况,就可能是jar包的问题了。
总结二:泛型应用即request转bean,bean之间copy知识。
public class WebUtils {
public static <T> T request2Bean(HttpServletRequest request,Class<T> beanClass)
{
try {
T bean=beanClass.newInstance();
Enumeration em=request.getParameterNames();
while(em.hasMoreElements())
{
String name=(String) em.nextElement();
String value=request.getParameter(name);
BeanUtils.setProperty(bean,name,value);
}
return bean;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public static void copyBean(Object src,Object dest)
{
ConvertUtils.register(new Converter()
{
public Object convert(Class type,Object value)
{
if(value==null)
{
return null;
}
String str=(String)value;
if(str.trim()=="")
{
return null;
}
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
try {
return df.parse(str);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
}, Date.class);
try {
BeanUtils.copyProperties(dest, src);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public static String generateID()
{
return UUID.randomUUID().toString();
}
}