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页面运行在
然后您的位置
URL 将指向
但你其实需要
因此,相应地修改 URL
document.location.href = 'dataentry';
// Or
document.location.href = '/contextname/dataentry';
// Or
document.location.href = '${pageContext.request.contextPath}/dataentry';
除此之外,函数名称 unloadEvt()
表明您在 onunload
或 onbeforeunload
期间调用该函数。如果这是真的,那么您应该寻找其他解决方案。该请求不保证永远到达服务器。这取决于所使用的浏览器等。如何正确解决它取决于问题中不清楚的唯一功能需求。
关于java - 如何从javascript调用servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6218237/