您好,我正在检查页面指令,但扩展页面指令不起作用。
下面是我的jsp页面
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page extends="javapackage.TestClass" %>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>Hai
<% out.println(show()); %>
</body>
</html>
我的课是
package javapackage;
public class TestClass {
public String show(){
return "Welcome Prasad";
}
}
它给了我 500 错误
例外
org.apache.jasper.JasperException: java.lang.ClassCastException: org.apache.jsp.first_jsp cannot be cast to javax.servlet.Servlet
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:177)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.ClassCastException: org.apache.jsp.first_jsp cannot be cast to javax.servlet.Servlet
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:172)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
即使我尝试使用扩展 HttpServlet 的类,但没有用。所以请任何人帮助我。我正在使用 Tomcat 7
Thanks
您需要阅读 JSP 规范,特别是 JSP.11.2.4 部分,其中列出了与扩展一起使用的超类的许多要求,但您问题中的超类均不满足这些要求。
...提供的超类:
- 如果协议是 HTTP,则实现 HttpJspPage,否则实现 JspPage。
- Servlet 接口中的所有方法都被声明为final。
此外,JSP 页面作者有责任确保所提供的
超类满足:
- servlet API 的 service 方法调用 _jspService 方法。
- init(ServletConfig) 方法存储配置,使其可以通过
getServletConfig,然后调用 jspInit。
- destroy 方法调用 jspDestroy。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)