Java 来自浏览器的Servlet非生命周期方法调用

Java 来自浏览器的Servlet非生命周期方法调用,java,servlets,Java,Servlets,我想知道是否可以直接从浏览器调用servlet的非生命周期方法。 例如,作为示例代码,如果我有如下内容- public CheckServlet extends HttpServlet { public void foo(HttpServletRequest req, HttpServletResponse res) { // do something } } web.xml- <servlet> <display-name>


我想知道是否可以直接从浏览器调用servlet的非生命周期方法。
例如,作为示例代码,如果我有如下内容-

public CheckServlet extends HttpServlet {
     public void foo(HttpServletRequest req, HttpServletResponse res) {
         // do something
     }
}
web.xml-

<servlet>
    <display-name>CheckServlet</display-name>
    <servlet-name>CheckServlet</servlet-name>
    <servlet-class>defpkg.CheckServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>CheckServlet</servlet-name>
    <url-pattern>/CheckServlet</url-pattern>
</servlet-mapping>
现在,如果我必须从浏览器中调用
foo()
,是否有可能?如果有,如何调用


亲切问候。

不,这是不可能的!如果可能的话,这将是一个巨大的安全漏洞,因为你的webapp用户可以调用任何方法

但是您的servlet可能会在其生命周期方法中调用它想要的

  • 多吉特
  • 多波斯特
  • 多普特
  • 多德莱特
  • 笨蛋
  • 涂鸦
  • 多特拉斯

否,但您可以通过GET或POST传入一些参数,第一个参数是要执行的操作的名称,另一个参数是要传入的参数。在Servlet端,您可以将不同的操作映射到不同的方法,并简单地传入请求参数

是的,如果web应用程序是servlet 2.5,浏览器可以调用,新的servlet规范支持自定义方法,这意味着servlet可以有doFoo()方法,浏览器可以像任何普通的GET、POST Http方法一样使用foo方法调用。

hhmm。。我可以试一试。谢谢
http://localhost:8080/MyApp/CheckServlet