Servlet.service() for servlet jsp threw exception

org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
刷新之后又出现这个 严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /jsp_include.jsp(4,4) Invalid directive
包括三个文件
static.html
<html>
<form method="get" action="jsp_include.jsp">
<table>
<tr><td>姓名:<input name="userName" type="text"></td></tr>
<tr><td>密码:<input name="password" type="password"></td></tr>
<tr><td>Email:<input name="email" type="text"></td></tr>
<tr><td><input type=submit value="提交"></td></tr>
</table>
</form>
</html>

jsp_include.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<html>
<body>
<%@ inlucde file="static.html"%>
<a href="response.jsp">转到response.jsp页面=》</a><br>
<jsp:include page="response.jsp" flush="true">
<!-- 获取name的值,并把它赋给a1 -->
<jsp:param name="a1" value="<%request.getParameter("userName");%>"/>
<!-- 获取password的值,并把它赋给a2 -->
<jsp:param name="a2" value="<%request.getParameter("password");%>"/>
<!-- 获取email的值,并把它赋给a3 -->
<jsp:param name="a3" value="<%request.getParameter("email");%>"/>
</jsp:include>
</body>
</html>

response.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<% out.println("下面是从response.jsp返还的结果"); %>
<br>
this is UserName=<%=request.getParameter("a1")%>
<br>
this is password=<%=request.getParameter("a2")%>
<br>
this is email=<%=request.getParameter("a3")%>
用的是Myeclipse6.5 和 tomcat6.0.20,那位大大帮忙解决啊

Servlet.service() for servlet jsp threw exception这个异常是由于service方法内部报错抛出的,遇到这种情况最好启用debug模式调试一下。
HTTP Servlet 的service() 方法介绍:
service() 方法是 Servlet 的核心。
每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。

在 HttpServlet 中已存在 service()方法.缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。
例如,如果 HTTP 请求方法为 GET,则缺省情况下就调用 doGet()。

service方法是接口中的方法,servlet容器把所有请求发送到该方法,该方法默认行为是转发http请求到doXXX方法中,如果你重载了该方法,默认操作被覆盖,不再进行转发操作!
service()是在javax.servlet.Servlet接口中定义的, 在 javax.servlet.GenericServlet中实现了这个接口, 而 doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的, javax.servlet.http.HttpServlet 是javax.servlet.GenericServlet 的子类.
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-27
一眼就看到了! ---org.apache.jasper.JasperException: /jsp_include.jsp(4,4) Invalid directive
先看一场 错误提示的很明显你的 /jsp_include.jsp页面有错误 Invalid directive
是无效指令 那就是语法写错了 我刚看到你的jsp_include.jsp就发现错了 第四行 inlucde 写错了
应该是include 应该就没问题了 你语法写错了 没法编译本回答被提问者和网友采纳

Servlet.service() for servlet jsp threw exception
service() 方法要抛出 java.servlet.ServletException 异常,如用在 service() 方法中用到了 IO 流,则会抛出 java.io.IOException 异常,可以在重写(override)service() 方法的时候将异常抛出,如下:public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, ...

Servlet.service() for servlet jsp threw exception
异常:java.lang.NullPointerException是空指针异常 可能原因:根据堆栈信息推断,可能是update.jsp中调用的dao.impl.AddressImpl.getAddressById(AddressImpl)方法导致的异常,而且很有可能是访问数据库发生的异常 解决:检查dao.impl.AddressImpl的第102行,看看该行的引用是否为null ...

严重: Servlet.service() for servlet jsp threw exception java.lang...
根据你列出的信息,我猜测应该是IDE的开发环境中的JDK平台版本与web容器所使用的JDK\/JRE版本不一致,且后者版本较高导致,你可以再IDE中调整JDK版本,或使其与web容器使用同一JDK或同一版本JDK即可解决问题。

...严重: Servlet.service() for servlet jsp threw exception
在你的请求中不存在request.setAttribute("courseName","");或者名字搞错了

严重: Servlet.service() for servlet jsp threw exception java.lang...
具体的原因就是在tomcat中jsp编译成servlet之后在函数_jspService(HttpServletRequestrequest,HttpServletResponseresponse)的最后有一段这样的代码finally{if(_jspxFactory!=null)_jspxFactory.releasePageContext(_jspx_page_context);}这里是在释放在jsp中使用的对象,会调用response.getWriter(),因为这个方法是和...

...严重: Servlet.service() for servlet jsp threw exception
Page directive must not have multiple occurrences of pageencoding 你在jsp页面里面用了两次pageEncoding,去掉一个就好了。

Servlet.service() for servlet jsp threw exception java.lang.NullPo...
Servlet.service() for servlet jsp说明错误来自于servlet java.lang.NullPointerException说明是空指针 我们的jsp页面的生成,其实还是要变成java的程序,并往浏览器写页面过去.那么,在将jsp页面变成java程序的时候.报了这么个异常.那你就看看你的参数有没有问题 空指针异常非常常见,写代码要细心才能最大...

严重: Servlet.service() for servlet jsp threw exception javax.ser...
因为项目中有像jsp-api.jar servlet-api.jar跟tomcat6的lib中同样的包,但版本比tomcat6的版本要低,在运行的时候,因为会优先加载项目中的包,所以 产生了错误,把项目中和tomcat相同的包删除(必须删除,如果替换还会产生其他的错误),问题就可以解决了。检查一下你的jar包。

Servlet.service() for servlet UserServlet threw exception
1.java.lang.NullPointerException说明是空指针,出错在43行,可知是dispatcher为空值 2.javax.servlet. ServletContext的getNamedDispatcher(String name)得到名为name的一个Web资源,包括Servlet和JSP页面。这个资源的名字要在web.xml中指定。3.nextPage如果是个路径的话应该是以"\/"开头的,如果不是"\/"...

...Servlet.service() for servlet jsp threw exception java.lang...
servlet-api.jar加载失败。一般这个jar 是不需要在你的项目中显式存放的。因为。一般tomcat里lib下都会有这个jar。你在自己的项目里 又写了一个。反而会冲突。

相似回答