java - 如何为一个servlet映射多个url

标签 java struts web.xml struts-config

我正在我的 struts Web 应用程序中用一个 servlet 映射两个 url,web.xml 中的代码部分如下。

<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    <url-pattern>*.mobile</url-pattern>
  </servlet-mapping>

问题是每当我提交任何表单时,它都会在 url 中添加 .mobile。例如假设表单是:

<html:form action="login.do">   
 <html:text property="name" />
 <html:submit >go</html:submit>                     
</html:form>

它正在将请求发送到:

http:myIp:8080/ProjectName/login.mobile

我的问题是为什么要添加 .mobile 而不是 .do??他们有什么办法解决这个问题吗???

谢谢。

最佳答案

也许删除扩展名(.do/.mobile)将有助于使用

<constant name="struts.action.extension" value=","/> 

关于java - 如何为一个servlet映射多个url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15199227/

相关文章:

Java Web 应用程序前端

java - web.xml 并混合 no-auth 和 auth

java - 什么是 "default location"用于 Struts 操作(在配置浏览器中)?

java - 相机方向改变

java - Hibernate NoSuchFieldError 实例但仅适用于 Struts 1?

java - 如何删除旧版本的Java并安装新版本

java - 无法使 Ajax 与 Struts/Spring 一起工作

java - 我可以使用 Jetty 部署没有 web.xml 的项目吗?

java - JBoss AS 7.1.1 Final 和 Log4j

Java - 使用多个完成阶段来形成一个响应 json