gpt4 book ai didi

java - 如何从javascript调用servlet

转载 作者:搜寻专家 更新时间:2023-11-01 04:05:02 25 4
gpt4 key购买 nike

web.xml 中的 Servlet 配置

<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>DataEntry</servlet-name>
<servlet-class>com.ctn.origin.connection.DataEntry</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>DataEntry</servlet-name>
<url-pattern>/dataentry</url-pattern>
</servlet-mapping>

Javascript:

<script type="text/javascript">
function unloadEvt() {

document.location.href='/test/dataentry';

}
</script>

但是使用这个 javascript 不能调用我的 servlet。

有没有错误?如何调用servlet?

最佳答案

从你原来的问题:

document.location.href="/dataentry";

URL 中的前导斜杠 / 会将您带到域根目录。

那么如果包含脚本的JSP页面运行在

http://localhost:8080/contextname/page.jsp

然后您的位置 URL 将指向

http://localhost:8080/dataentry

但你其实需要

http://localhost:8080/contextname/dataentry

因此,相应地修改 URL

document.location.href = 'dataentry';
// Or
document.location.href = '/contextname/dataentry';
// Or
document.location.href = '${pageContext.request.contextPath}/dataentry';

除此之外,函数名称 unloadEvt() 表明您在 onunloadonbeforeunload 期间调用该函数。如果这是真的,那么您应该寻找其他解决方案。该请求不保证永远到达服务器。这取决于所使用的浏览器等。如何正确解决它取决于问题中不清楚的唯一功能需求。

关于java - 如何从javascript调用servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6218237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com