Java 将servlet链接到jsp。
有没有一种方法可以将servlet链接到JSP而不使用物理url链接。因此,我希望servlet运行,然后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和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标记显示结果
另见: