【问题标题】:How to call a Class inside a package from html form如何从html表单调用包内的类
【发布时间】:2012-11-21 03:33:42
【问题描述】:

我试图将我的 doLogin.java 类 (servlet) 放入名为 LoginSession 的包中,但我无法从我的表单 <form name="logForm" action="LoginSession/doLogin" method="POST"> 中调用此类,它会在找不到源时引发服务器错误。

当我将类放入默认包中时,我可以通过以这种方式修改操作<form name="logForm" action="doLogin" method="POST"> 来毫无问题地调用它,但我知道将类直接放入默认包中是一种非常糟糕的做法。

【问题讨论】:

    标签: java html servlets netbeans


    【解决方案1】:

    在 HTML 页面中

    <form action = "com.Demo">
    

    在 com 包中包含的Dmo.java 文件中

    web.xml

    <servlet>
        <description></description>
        <display-name>Demo</display-name>
        <servlet-name>Demo</servlet-name>
        <servlet-class>com.Demo</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Demo</servlet-name>
        <url-pattern>/com.Demo</url-pattern>
    </servlet-mapping>
    

    【讨论】:

      【解决方案2】:

      您应该使用完全限定的类名将其称为LoginSession.doLogin

      或者,您可以定义 servlet-mapping 并将 url 模式与有意义的短名称相关联以引用 servlet。

      【讨论】:

      • 感谢您的回复,LoginSession.doLogin 不起作用,稍后我将尝试使用 servlet-mapping,虽然我确实认为这有点矫枉过正,但必须有一种方法可以简单地调用我包里的一个类。
      • 您能否确认doLogin.class 是否存在于WEB-INF/classes/LoginSession 文件夹中?另外,我希望你在doLogin.java 中加入package LoginSession;
      • 我的WEB-INF/ 文件夹中没有任何内容,我不知道这意味着什么,因为我在默认包中调用我的类没有任何问题。 package LoginSession 行也已经在 doLogin.java 中
      • 你为什么不尝试 servlet 映射?
      猜你喜欢
      • 2011-01-24
      • 2015-10-03
      • 1970-01-01
      • 2018-08-11
      • 2010-10-15
      • 1970-01-01
      • 2016-06-28
      • 2013-10-28
      相关资源
      最近更新 更多