【问题标题】:What does it mean using *.do in my web.xml code?在我的 web.xml 代码中使用 *.do 是什么意思?
【发布时间】:2018-08-06 16:36:39
【问题描述】:

web.xml:

<web-app>
    <display-name>LoginFormStruts1</display-name>
 
    <servlet>
        <servlet-name>myActionController</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>
        <load-on-startup>1</load-on-startup>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>myActionController</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
 
    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
 
</web-app>

另外,这条线在做什么?

org.apache.struts.action.ActionServlet

请有人解释一下这两条线背后的概念。

【问题讨论】:

  • web.xml 包含在 JEE 文档和教程中;从那里开始。

标签: struts web.xml struts-1


【解决方案1】:

在正则表达式术语中
. - “点”表示任何字符
* - 表示“前面的正则表达式标记的 0 个或多个实例”

所以,您的 url 以 .do 结尾,然后 servlet 容器将其映射到所需的 servlet。

【讨论】:

  • 谢谢@swaroop pallapothu 我可以断定 *.do 意味着它会自动在项目中查找我的动作 servlet(控制器)吗?此外,我的代码 org.apache.struts.action.ActionServlet 中的这一行呢
【解决方案2】:

web.xml 中,您可以配置 Web 应用程序使用的 servlet 和映射。

特别是您已经配置了由 Struts 实现的 action servlet。 servlet 通过扩展名*.do 映射。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多