Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
Java 将servlet链接到jsp。_Java_Jsp_Servlets - Fatal编程技术网

Java 将servlet链接到jsp。

Java 将servlet链接到jsp。,java,jsp,servlets,Java,Jsp,Servlets,有没有一种方法可以将servlet链接到JSP而不使用物理url链接。因此,我希望servlet运行,然后servlet将我带到JSP。 任何想法 是的,使用框架。Servlet和JP就像水和石头一样,你们可以用它们筑路,但你们不能要求他们单独去做。你必须流汗,或者找个框架来帮你;) 如果您熟悉Java,我建议(1.2.4…2.0不太像Javish,更像Scalish)是的,您可以在servlet中添加html代码,然后发送重定向到JSP页面。我认为您需要的是转发。浏览器URL将维护servle

有没有一种方法可以将servlet链接到JSP而不使用物理url链接。因此,我希望servlet运行,然后servlet将我带到JSP。
任何想法

是的,使用框架。Servlet和JP就像水和石头一样,你们可以用它们筑路,但你们不能要求他们单独去做。你必须流汗,或者找个框架来帮你;)


如果您熟悉Java,我建议(1.2.4…2.0不太像Javish,更像Scalish)是的,您可以在servlet中添加html代码,然后发送重定向到JSP页面。

我认为您需要的是转发。浏览器URL将维护servlet的URL,请求上的属性将可供jsp使用

RequestDispatcher=getServletContext().getRequestDispatcher(“foo.jsp”)


r、 转发(请求、响应)

只需调用servlet的URL而不是JSP的URL,并在servlet的
doGet()
方法中执行预处理工作

例如,在JSP呈现产品之前加载产品列表的servlet:

@WebServlet("/products")
public class ProductServlet extends HttpServlet {

    @EJB
    private ProductService productService;

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // Preprocess request: load list of products for display in JSP.
        List<Product> products = productService.list();
        request.setAttribute("products", products);
        request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response);
    }

}
@WebServlet(“/products”)
公共类ProductServlet扩展了HttpServlet{
@EJB
私人产品服务;
@凌驾
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
//预处理请求:加载要在JSP中显示的产品列表。
List products=productService.List();
请求.setAttribute(“产品”,产品);
request.getRequestDispatcher(“/WEB-INF/products.jsp”).forward(请求,响应);
}
}
其中JSP如下所示:


我们的产品
产品
身份证件
名称
描述
价格
${product.id}
如果直接转到,则将调用servlet的
doGet()
,产品将从数据库加载并存储在请求范围内,控件将转发到JSP,JSP将以一些漂亮的HTML标记显示结果

另见: