如何在jsp页面加载时调用servlet?

我有以下servlet。 我想在jsp页面加载时调用servlet。 我怎样才能做到这一点?

servlet: SomeServlet.java

  Hello SomeServlet   Hello /HelloWorld  

如何在jsp页面加载时编写相应的jsp来调用servlet。 另外我需要从servlet获取结果并在同一个jsp中显示。 我可以将结果发送回jsp吗?

谢谢!

你应该反过来做。 通过URL调用servlet并让它呈现JSP。 这也是正常的MVC方法(servlet是控制器,JSP是视图)。

首先将JSP文件放在/WEB-INF文件夹中,以便最终用户永远不会“无意中”通过直接在浏览器地址栏中输入其URL而不调用servlet来打开它。 然后相应地更改servlet的doGet() ,它将请求转发给JSP。

 @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // ... request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request, response); } 

打开它

HTTP://本地主机:8080 / CONTEXTNAME / HelloServlet

请注意,您当然可以将servlet映射中的URL模式更改为/hello以便您可以使用更具代表性的URL:

HTTP://本地主机:8080 / CONTEXTNAME /你好

也可以看看:

  • 我们的Servlets标记信息页面
  

调用servlet而不是获取请求属性中的结果并将请求转发给jsp

或者在加载时对servlet进行ajax调用,并使用javascript呈现响应

在JSP paage中,您可以将请求转发给Servlet

 response.sendRedirect(request.getContextPath()+"/SomeServlet");