警告: StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception
可是我实在是不知道我的问题出在哪,我用工厂建的类,我觉得应该是建类没建成功?
这是我的config.properties
mlpUserDao=com.hxy.mlp.dao.MlpUserDao
mlpHomeDao=com.hxy.mlp.dao.MlpHomeDao
mlpCategoryDao=com.hxy.mlp.dao.MlpCategoryDao
mlpArticleDao=com.hxy.mlp.dao.MlpArticleDao
mlpReviewDao=com.hxy.mlp.dao.MlpReviewDao
mlpPictureDao=com.hxy.mlp.dao.MlpPictureDao
mlpMsgDao=com.hxy.mlp.dao.MlpMsgDao
mlpUserService=com.hxy.mlp.service.MlpUserService
mlpHomeService=com.hxy.mlp.service.MlpHomeService
mlpCategoryService=com.hxy.mlp.service.MlpCategoryService
mlpArticleService=com.hxy.mlp.service.MlpArticleService
mlpReviewService=com.hxy.mlp.service.MlpReviewService
mlpPictureService=com.hxy.mlp.service.MlpPictureService
mlpMsgService=com.hxy.mlp.service.MlpMsgServiceStartServlet
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.hxy.mlp.common;import java.io.FileInputStream;
import java.io.InputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;/**
*
* @author Arondight
*/
public class StartServlet extends HttpServlet { @Override
public void init() throws ServletException {
try {
String path = this.getServletContext().getRealPath("/WEB-INF/config.properties");
InputStream in = new FileInputStream(path);
Config.prop.load(in);
} catch (Exception ex) {
throw new ServletException(ex.getMessage());
}
}
}工厂类
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.hxy.mlp.common;import com.hxy.mlp.idao.*;
import com.hxy.mlp.iservice.*;/**
*
* @author Arondight
*/
public class MyFactory { private static Object getObject(String name) {
try {
String className = Config.prop.getProperty(name);
Object obj = Class.forName(className).newInstance();
return obj;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
} public static IMlpUserDao createMlpUserDao() {
return (IMlpUserDao) getObject("mlpUserDao");
} public static IMlpHomeDao createMlpHomeDao() {
return (IMlpHomeDao) getObject("mlpHomeDao");
} public static IMlpCategoryDao createMlpCategoryDao() {
return (IMlpCategoryDao) getObject("mlpCategoryDao");
} public static IMlpArticleDao createMlpArticleDao() {
return (IMlpArticleDao) getObject("mlpArticleDao");
} public static IMlpReviewDao createMlpReviewDao() {
return (IMlpReviewDao) getObject("mlpReviewDao");
} public static IMlpPictureDao createMlpPictureDao() {
return (IMlpPictureDao) getObject("mlpPictureDao");
} public static IMlpMsgDao createMlpMsgDao() {
return (IMlpMsgDao) getObject("mlpMsgDao");
} public static IMlpUserService createMlpUserService() {
return (IMlpUserService) getObject("mlpUserService");
} public static IMlpHomeService createMlpHomeService() {
return (IMlpHomeService) getObject("mlpHomeService");
} public static IMlpCategoryService createMlpCategoryService() {
return (IMlpCategoryService) getObject("mlpCategoryService");
} public static IMlpArticleService createMlpArticleService() {
return (IMlpArticleService) getObject("mlpArticleService");
} public static IMlpReviewService createMlpReviewService() {
return (IMlpReviewService) getObject("mlpReviewService");
} public static IMlpPictureService createMlpPictureService() {
return (IMlpPictureService) getObject("mlpPictureService");
} public static IMlpMsgService createMlpMsgService() {
return (IMlpMsgService) getObject("mlpMsgService");
}
}<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
--><!DOCTYPE web-app
PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>StartServlet</servlet-name>
<servlet-class>com.hxy.mlp.common.StartServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>StartServlet</servlet-name>
<url-pattern>/StartServlet</url-pattern>
</servlet-mapping>
</web-app>
总是出空指针异常,也就是说工厂建对象失败了?为什么啊,困然了我好几天的问题,求高手解决。
可是我实在是不知道我的问题出在哪,我用工厂建的类,我觉得应该是建类没建成功?
这是我的config.properties
mlpUserDao=com.hxy.mlp.dao.MlpUserDao
mlpHomeDao=com.hxy.mlp.dao.MlpHomeDao
mlpCategoryDao=com.hxy.mlp.dao.MlpCategoryDao
mlpArticleDao=com.hxy.mlp.dao.MlpArticleDao
mlpReviewDao=com.hxy.mlp.dao.MlpReviewDao
mlpPictureDao=com.hxy.mlp.dao.MlpPictureDao
mlpMsgDao=com.hxy.mlp.dao.MlpMsgDao
mlpUserService=com.hxy.mlp.service.MlpUserService
mlpHomeService=com.hxy.mlp.service.MlpHomeService
mlpCategoryService=com.hxy.mlp.service.MlpCategoryService
mlpArticleService=com.hxy.mlp.service.MlpArticleService
mlpReviewService=com.hxy.mlp.service.MlpReviewService
mlpPictureService=com.hxy.mlp.service.MlpPictureService
mlpMsgService=com.hxy.mlp.service.MlpMsgServiceStartServlet
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.hxy.mlp.common;import java.io.FileInputStream;
import java.io.InputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;/**
*
* @author Arondight
*/
public class StartServlet extends HttpServlet { @Override
public void init() throws ServletException {
try {
String path = this.getServletContext().getRealPath("/WEB-INF/config.properties");
InputStream in = new FileInputStream(path);
Config.prop.load(in);
} catch (Exception ex) {
throw new ServletException(ex.getMessage());
}
}
}工厂类
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.hxy.mlp.common;import com.hxy.mlp.idao.*;
import com.hxy.mlp.iservice.*;/**
*
* @author Arondight
*/
public class MyFactory { private static Object getObject(String name) {
try {
String className = Config.prop.getProperty(name);
Object obj = Class.forName(className).newInstance();
return obj;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
} public static IMlpUserDao createMlpUserDao() {
return (IMlpUserDao) getObject("mlpUserDao");
} public static IMlpHomeDao createMlpHomeDao() {
return (IMlpHomeDao) getObject("mlpHomeDao");
} public static IMlpCategoryDao createMlpCategoryDao() {
return (IMlpCategoryDao) getObject("mlpCategoryDao");
} public static IMlpArticleDao createMlpArticleDao() {
return (IMlpArticleDao) getObject("mlpArticleDao");
} public static IMlpReviewDao createMlpReviewDao() {
return (IMlpReviewDao) getObject("mlpReviewDao");
} public static IMlpPictureDao createMlpPictureDao() {
return (IMlpPictureDao) getObject("mlpPictureDao");
} public static IMlpMsgDao createMlpMsgDao() {
return (IMlpMsgDao) getObject("mlpMsgDao");
} public static IMlpUserService createMlpUserService() {
return (IMlpUserService) getObject("mlpUserService");
} public static IMlpHomeService createMlpHomeService() {
return (IMlpHomeService) getObject("mlpHomeService");
} public static IMlpCategoryService createMlpCategoryService() {
return (IMlpCategoryService) getObject("mlpCategoryService");
} public static IMlpArticleService createMlpArticleService() {
return (IMlpArticleService) getObject("mlpArticleService");
} public static IMlpReviewService createMlpReviewService() {
return (IMlpReviewService) getObject("mlpReviewService");
} public static IMlpPictureService createMlpPictureService() {
return (IMlpPictureService) getObject("mlpPictureService");
} public static IMlpMsgService createMlpMsgService() {
return (IMlpMsgService) getObject("mlpMsgService");
}
}<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
--><!DOCTYPE web-app
PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>StartServlet</servlet-name>
<servlet-class>com.hxy.mlp.common.StartServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>StartServlet</servlet-name>
<url-pattern>/StartServlet</url-pattern>
</servlet-mapping>
</web-app>
总是出空指针异常,也就是说工厂建对象失败了?为什么啊,困然了我好几天的问题,求高手解决。
想辦法取的getObject的錯誤訊息,就知道怎麼處理了。
java.lang.NullPointerException
at org.apache.jsp.category.categoryManage_jsp._jspService(categoryManage_jsp.java:71)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:722)这是错误信息……