Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Servlet中的java类获取属性(在JSP中看不到转发的请求)_Java_Spring_Jsp_Tomcat_Servlets - Fatal编程技术网

从Servlet中的java类获取属性(在JSP中看不到转发的请求)

从Servlet中的java类获取属性(在JSP中看不到转发的请求),java,spring,jsp,tomcat,servlets,Java,Spring,Jsp,Tomcat,Servlets,我正在学习headfirstservlet和JSP,并一直在解决这个问题。 主题从本书第480页开始。 我正在尝试在没有IDE的情况下开发servlet。 这个servlet应该以表格形式显示电影列表 这是我的密码 MoviesList.java: package com.model; import javax.servlet.*; import javax.servlet.http.*; public class MovieList extends HttpServlet{ publ

我正在学习headfirstservlet和JSP,并一直在解决这个问题。 主题从本书第480页开始。 我正在尝试在没有IDE的情况下开发servlet。 这个servlet应该以表格形式显示电影列表

这是我的密码
MoviesList.java

package com.model;
import javax.servlet.*;
import javax.servlet.http.*;

public class MovieList extends HttpServlet{
    public void doGet(HttpServletRequest req, HttpServletResponse res){
        String[] movieList = {"Hannah Montana", "Kill Bill", "Terminator 2"};
        req.setAttribute("movieList", movieList);
    }
}
Show.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html><body>
<strong> Movie list:</strong>
<br><br>

<table>
     <c:forEach var="movie" items="${movieList}">
          <tr>
            <td>${movie}</td>
         </tr>
    </c:ForEach>    
</table>

</html></body>
消息:绝对uri:无法在web.xml或与此应用程序一起部署的jar文件中解析

描述:服务器遇到内部错误,无法满足此请求

异常

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:55)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:277)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:75)
    org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:243)
    org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:124)
    org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:411)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:469)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1430)
    org.apache.jasper.compiler.Parser.parse(Parser.java:139)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:227)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
现在我更改了servlet代码,使其将请求转发到Show.jsp,并重新编译了我的类,重新启动了tomcat,但仍然无法工作

req.setAttribute("movieList", movieList);


     try {

  getServletConfig().getServletContext().getRequestDispatcher(

    "Show.jsp").forward(req ,res );



} catch (ServletException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

} catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

}

默认情况下,Tomcat将不包括JSTL库。
因此,您应该下载JSTL jar(standard.jar和JSTL.jar)并将它们放在应用程序的WEB-INF/lib文件夹中。

您将jar或jar放在哪里?您好,您的意思是什么?我的意思是阅读信息页面并下载JSTL jar并将其放在您的lib文件夹中。这一个通过了吗?javax.servlet.jsp.jstl-1.2.1-javadoct谢谢你,已经解决了这个问题!但现在的问题是我的电影去了哪里!它只显示“电影列表”,没有其他内容。我已将javax.servlet.jsp.jstl-1.2.1-javadoc添加到我的WEB-INF/lib文件夹中,现在它显示:说明服务器遇到了一个内部错误,导致它无法满足此请求。异常org.apache.jasper.JasperException:java.lang.ClassNotFoundException:org.apache.jsp.Show_jsp org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:176)。。。。。。。我下载的文件有问题吗?我戴上了,看来我有了一些进步。刚刚阅读了关于JSTL线程的内容,现在它向我展示了next:/Show.jsp(第11行,第1列)end标记“/c:ForEach”是不平衡的,非常感谢!我解决了这个结束标记必须是小写:!它现在呈现的是“电影列表”,除此之外什么都没有……(我是不是错过了范围?
Now I solved it, thanks a lot!
I have got nex question:
It renders only text "Movie list:" and nothing more
How I fix that?
req.setAttribute("movieList", movieList);


     try {

  getServletConfig().getServletContext().getRequestDispatcher(

    "Show.jsp").forward(req ,res );



} catch (ServletException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

} catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

}