Java 扩展页指令不工作
您好,我正在检查页面指令,但扩展页面指令不起作用。Java 扩展页指令不工作,java,jsp,Java,Jsp,您好,我正在检查页面指令,但扩展页面指令不起作用。下面的我的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/
下面的我的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>
它给我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
谢谢你需要阅读JSP规范,特别是第JSP.11.2.4节,该节列出了与extends一起使用的超类的一些要求,但您所问的超类没有满足这些要求 …提供的超类:
- 如果协议是HTTP,则实现HttpJspPage,否则实现JspPage
- Servlet接口中的所有方法都声明为final
- servlet API的服务方法调用u jspService方法
- init(ServletConfig)方法存储配置,通过 getServletConfig,然后调用jspInit
- destroy方法调用jspDestroy
您需要阅读JSP规范,特别是JSP.11.2.4节,该节为您在extends中使用的超类列出了许多要求,但您所问的超类没有满足这些要求 …提供的超类:
- 如果协议是HTTP,则实现HttpJspPage,否则实现JspPage
- Servlet接口中的所有方法都声明为final
- servlet API的服务方法调用u jspService方法
- init(ServletConfig)方法存储配置,通过 getServletConfig,然后调用jspInit
- destroy方法调用jspDestroy
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)