放置/同时以jsp格式调用servlet

时间:2014-11-05 12:19:09

标签: forms jsp servlets struts

如果我替换

会有什么影响
<form action ="someaction.do">

<form action="/someaction.do">

这两个代码有什么区别吗?如果我离开&#34; /&#34;该怎么办?用于调用动作servlet?如果我不会放置&#34; /&#34;?。

会发生什么

实际上我将我的网站从http转换为https。现在在迁移时, 有些页面工作正常如果我使用第二种方法(即使用/)某些页面不起作用如果不使用/.

任何想法为什么?

2 个答案:

答案 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中正确映射。