8

有什么方法可以调用 servletindex.jsp吗?我的欢迎文件是index.jsp. index.jsp打开 时,我需要通过 servlet 填充下拉列表值。

我尝试设置<load-on-startup>web.xml但没有任何效果。如何获取欢迎文件index.jsp来调用 servlet?

4

4 回答 4

15

只需将欢迎文件 URL 更改为 servlet 之一。

给定这个 servlet 映射,

<servlet-mapping>
    <servlet-name>indexServlet</servlet-name>
    <url-pattern>/index</url-pattern>
</servlet-mapping>

只要有这个欢迎文件列表:

<welcome-file-list>
    <welcome-file>index</welcome-file>
</welcome-file-list>

不要忘记将 in 移动/index.jsp/WEB-INF文件夹以防止最终用户通过猜测其 URL 直接访问它(并且不要忘记将 index servlet 中的转发调用更改为指向/WEB-INF/index.jsp)。

或者,如果您只打算拥有“主页 servlet”而不是“索引 servlet”,则将 servlet 映射到空字符串 URL 模式,而不是作为欢迎文件。

<servlet-mapping>
    <servlet-name>indexServlet</servlet-name>
    <url-pattern></url-pattern>
</servlet-mapping>

也可以看看:

于 2013-04-05T17:27:14.873 回答
0

有多种方法可以实现这一点,具体取决于您使用的框架。

简单来说,您可以先调用 servlet 并将数据设置到表单中,然后重定向到您的 JSP。

或者

如果您熟悉 Ajax,您可以从您的 jsp 进行 ajax 调用来为您获取数据

如果您能告诉我您为项目使用的框架,我可以为您提供一个示例

于 2013-04-05T17:40:38.627 回答
0

只需创建一个空的虚拟索引页面...在该页面中只需添加以下行...

<%request.getRequestDispatcher("Your Servlet name").include(request,response);%> 例如: <%request.getRequestDispatcher("Alumni_Servlet?option=first").include(request,response);%>

然后在那个 Servlet 类中,只需实现逻辑并重定向您的原始主页或索引页面。

于 2014-08-04T05:03:51.547 回答
0

使用 JQuery Ajax

<body onload="functionName()">
<script>
    function functionName(){

    $.ajax({
       url : 'YourServlet',
       type: "GET",
       async: false,
       success:function(response){

       },
       error: function (event) {

           console.log("ERROR: ", event);
       }
    });
}
</script>
于 2018-10-29T14:37:24.010 回答