Java Jetty Servlet转发jsp:转发错误
前向jsp中的问题 给出一条错误消息:Java Jetty Servlet转发jsp:转发错误,java,jsp,servlets,webserver,jetty,Java,Jsp,Servlets,Webserver,Jetty,前向jsp中的问题 给出一条错误消息: 2016-01-27 13:22:13.192:WARN:oejs.ServletHandler:qtp1132700707-25: Error for / java.lang.StackOverflowError at java.lang.String.startsWith(String.java:1434) at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.setAttri
2016-01-27 13:22:13.192:WARN:oejs.ServletHandler:qtp1132700707-25: Error for /
java.lang.StackOverflowError
at java.lang.String.startsWith(String.java:1434)
at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:352)
at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:368)
at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:368)
at org.eclipse.jetty.server.Request.setAttribute(Request.java:1925)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:839)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1158)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1090)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:199)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:74)
at pages.index.doGet(index.java:18)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
多吉特:
@WebServlet(urlPatterns = "/")
public class index extends HttpServlet{
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
request.getRequestDispatcher("/index.jsp").forward(request,response);
}
}
启动服务器:
WebAppContext webapp1 = new WebAppContext();
webapp1.setResourceBase("src/Pages");
webapp1.setContextPath("/");
webapp1.setDefaultsDescriptor("src/WEB-INF/web.xml");
webapp1.setDescriptor("src/WEB-INF/web.xml");
server.setHandler(webapp1);
getServletContext()
无济于事
请帮助我了解问题所在
添加index.jsp,生成NetBeans 8.1,我不会更改:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<f:view>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>JSP Page</title>
</head>
<body>
<h1><h:outputText value="Hello World!"/></h1>
</body>
</html>
</f:view>
JSP页面
您的index.jsp
正在调用servlet,而servlet正在调用index.jsp
,因此它们有无限循环。更改servlet应该转发的页面
getServletContext().getRequestDispatcher("/page.jsp").forward(request,response);
我确实做了那件事
getServletContext().getRequestDispatcher("/page.jsp").forward(request,response);
正如罗曼C.所建议的,但这并不能单独解决这个问题。我还删除了所有servlet映射 默认生成jsp NetBeansCan您可以在不转发的情况下从浏览器查看index.jsp?是…如果使用weappcontext或doGet print Writer。