朋友,你要学会追踪异常的来源才行啊,我解释给你听吧,希望能够帮到你,谢谢
org.apache.jasper.JasperException: java.lang.NullPointerException
这个空指针异常其实是由下面的空指针异常导致的,你只要解决下面那个,这里就不会有问题了
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
java
org.apache.jsp.shop_jsp._jspService(shop_jsp.java:102)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
1.空指针异常了。
2.原因: userList为 null
3.解决办法
可以在32行之前加一句
1
if (userList != null)
jsp页面显示类型转换异常(id是integer类型的,异常提醒是input string id)和JasperException异常,最终问题是出在JasperException异常上。
在使用query对象进行本地sql语句的赋值时如果未使用方法addEntity(clazz);添加运行时类的类型,默认就是Object类型,会出现未知数据(类型不匹配),所以传递到jsp页面就是类型转换异常。
扩展资料
异常处理方式
通过try、catch捕获异常
try{
// 程序代码
}catch(ExceptionName e1){
//Catch 块
}
通过throws抛出异常
定义一个方法的时候可以使用throws关键字声明。使用throws关键字声明的方法表示此方法不处理异常,而交给方法调用处进行处理。
应该是你的页面当中有el表达式,在你将数据存到session中,从页面中取出来的数据格式与存入到session中的数据格式不一致。,没有看到你写的代码,也不知道是不是的,,这种可能性还是蛮大的
java.lang.NullPointerException 空指针异常 对NULL调用方法的时候就会报这个错误。
你这个应该是服务器报的吧 检查一下jar包和JDK版本
很明显,你很粗心,大小写没有注意到。
List list = (List) request.getAttribute(“list“);
request.setAttribute(“List“, list);
第二行放进去的是List,而取出来的时候是list,所以是空指针
处理办法
1、使用框架标签出错要在页首加入《%@ taglib prefix=“s“ uri=“xxx“%》来定义标签。
2、解析jsp页面生成servlet代码时出错查看具体的异常堆栈里面提示的响应信息,然后修改。
PS找不到哪里错了那么有可能是tomcat版本过低,可以升级一下。
Tomcat 服务器
是一个免费的开放源代码的Web 应用服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是8.0。
Servlet(Server Applet)
全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
如果我没记错的话,这个应该是JSP引擎解析jsp页面生成servlet代码时产生的异常,应该是你的页面中语法有问题,而不是执行期间的问题,你看看具体的异常堆栈里面提示的有响应的信息。
补充,看到楼上说的。怎么会没异常,服务器又不是只有struts才会报异常)。
应用容器中部署的servlet会报异常的,比如这个问题就很可能是负责jsp解析的servlet报的异常,这些异常信息位于服务器的日志目录中,比如tomcat,那会在logs目录下的catalina.out中或者localhost....log。
哦,也许uranus63 的意思是没有办法在struct中区捕获并处理这些异常,不过我才楼主的意思并不是这样,他说的处理是指如何解决这个错误而不是要编写一个错误处理机制。