有什么方法可以调用 servletindex.jsp
吗?我的欢迎文件是index.jsp
. index.jsp
打开 时,我需要通过 servlet 填充下拉列表值。
我尝试设置<load-on-startup>
,web.xml
但没有任何效果。如何获取欢迎文件index.jsp
来调用 servlet?
有什么方法可以调用 servletindex.jsp
吗?我的欢迎文件是index.jsp
. index.jsp
打开 时,我需要通过 servlet 填充下拉列表值。
我尝试设置<load-on-startup>
,web.xml
但没有任何效果。如何获取欢迎文件index.jsp
来调用 servlet?
只需将欢迎文件 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>
有多种方法可以实现这一点,具体取决于您使用的框架。
简单来说,您可以先调用 servlet 并将数据设置到表单中,然后重定向到您的 JSP。
或者
如果您熟悉 Ajax,您可以从您的 jsp 进行 ajax 调用来为您获取数据
如果您能告诉我您为项目使用的框架,我可以为您提供一个示例
只需创建一个空的虚拟索引页面...在该页面中只需添加以下行...
<%request.getRequestDispatcher("Your Servlet name").include(request,response);%> 例如: <%request.getRequestDispatcher("Alumni_Servlet?option=first").include(request,response);%>
然后在那个 Servlet 类中,只需实现逻辑并重定向您的原始主页或索引页面。
使用 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>