如果我替换
会有什么影响<form action ="someaction.do">
带
<form action="/someaction.do">
这两个代码有什么区别吗?如果我离开&#34; /&#34;该怎么办?用于调用动作servlet?如果我不会放置&#34; /&#34;?。
会发生什么实际上我将我的网站从http转换为https。现在在迁移时, 有些页面工作正常如果我使用第二种方法(即使用/)某些页面不起作用如果不使用/.
任何想法为什么?
答案 0 :(得分:0)
这不是一个servlet问题,而是一个HTML常规问题,但实质上,我们可以说你当前的网址是这样的:
http://mywebsite.com/somedir/index.jsp
如果您的表单中的操作为someaction.do
,则会查找
http://mywebsite.com/somedir/someaction.do
这称为相对路径。
如果以/开头,则会将其视为绝对路径,并会查找
http://mywebsite.com/someaction.do
答案 1 :(得分:0)
要避免这些问题,请指定您的服务器,如下所示:
EL:
<form action="${pageContext.request.contextPath}/someaction.do" >
Scriptlet中:
<form action='<%=request.getContextPath( )%>/someaction.do' >
假设所有servlet都在web.xml
中正确映射。