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

use*_*403 7 java jsp servlets

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

servlet的: SomeServlet.java

<servlet>
  <servlet-name>Hello</servlet-name>
  <servlet-class>SomeServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>Hello</servlet-name>
 <url-pattern>/HelloWorld</url-pattern>
 </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Bal*_*usC 8

你应该反过来做.通过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);
}
Run Code Online (Sandbox Code Playgroud)

打开它

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

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

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

也可以看看:


Jig*_*shi 0

调用 servlet,而不是在 request 属性中获取结果并将请求转发到 jsp

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