首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

JSP中out输出有关问题

2012-07-30 
JSP中out输出问题%@ page languagejava contentTypetext/html charsetutf-8pageEncodingGB1803

JSP中out输出问题
<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="GB18030"%>
<%@ page import = "com.javaee.DAO.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>按ID查询记录</title>
</head>
<body>
<% 
UserDAO userDAO = DAOFactory.getUserDAOInstance();
User user = userDAO.queryById(1);
out.println("用户名:"+user.getUsername()+"<br>");
out.println("密码:"+user.getPassword());
%>
</body>
</html>




UserDAO,user,UserDAOFactory都已经定义,上述代码,为什么老是报错如下,求指教:
严重: Servlet.service() for servlet [jsp] in context with path [/testt] threw exception [java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at org.apache.jsp.ch2.QueryById_jsp._jspService(QueryById_jsp.java:79)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1812)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
七月 09, 2012 9:41:59 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [jsp] in context with path [/testt] threw exception [java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at org.apache.jsp.ch2.QueryById_jsp._jspService(QueryById_jsp.java:79)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)


at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1812)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)


[解决办法]
从代码看,如果查询没有记录,则返回为null,你可以改成:
if(user==null)
{
out.println("user is null");
}
else
{
out.println("用户名:"+user.getUsername()+"<br>");
out.println("密码:"+user.getPassword());
}
[解决办法]
2 楼正解

告诉你一个定位错误的方法,你仔细看异常信息
里面的这一句
java.lang.NullPointerException
at org.apache.jsp.ch2.QueryById_jsp._jspService(QueryById_jsp.java:79)
这里很清晰的告诉你,异常在QueryById_jsp.java文件的79行。
你可以去应用服务器的JS缓存目录去找这个文件,如果是tomcat的话,一般在work\Catalina\localhost\你的项目名称\org\apache\jsp\然后就是你QueryById.jsp的文件目录。
[解决办法]
java.lang.NullPointerException
at org.apache.jsp.ch2.QueryById_jsp._jspService(QueryById_jsp.java:79)


到你的tomcat\work子目录中找到QueryById_jsp.java ,看看 79行是什么 ,报空指针异常啦
[解决办法]

探讨
2 楼正解

告诉你一个定位错误的方法,你仔细看异常信息
里面的这一句
java.lang.NullPointerException
at org.apache.jsp.ch2.QueryById_jsp._jspService(QueryById_jsp.java:79)
这里很清晰的告诉你,异常在QueryById_jsp.java文件的79行。
你可以去应用服务器的JS缓存目录……

热点排行