【问题标题】:Placing / while calling servlet in jsp form以jsp形式调用servlet时放置/
【发布时间】:2014-11-05 12:19:08
【问题描述】:

如果我更换会有什么影响

<form action ="someaction.do">

<form action="/someaction.do">

这两个代码有什么区别吗?如果我用“/”来调用 action servlet 怎么办?如果我不放置“/”会怎样?

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

有什么想法吗?

【问题讨论】:

    标签: forms jsp servlets struts


    【解决方案1】:

    这不是一个 servlet 问题,而是一个 HTML 通用问题,但本质上,假设您当前的 url 是这样的:
    http://mywebsite.com/somedir/index.jsp

    如果您有一个动作为someaction.do 的表单,它将查找 http://mywebsite.com/somedir/someaction.do 这称为相对路径。

    如果它以 / 开头,则被认为是绝对路径,并会寻找
    http://mywebsite.com/someaction.do

    【讨论】:

      【解决方案2】:

      为避免这些问题,请像这样指定您的服务器:

      EL:

      <form action="${pageContext.request.contextPath}/someaction.do" >
      

      小脚本:

      <form action='<%=request.getContextPath( )%>/someaction.do' >
      

      假设所有 servlet 都正确映射到 web.xml

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-25
        • 2011-07-24
        相关资源
        最近更新 更多