我想知道是否有可能直接从浏览器中调用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>
浏览器网址-
http://localhost:8080/MyApp/CheckServlet
现在,如果必须从浏览器中调用
foo()
,是否可以?如果可以,怎么办?亲切的问候。
最佳答案
不,这是不可能的!如果可能的话,这将是一个很大的安全漏洞,因为您的webapp用户可以调用任何方法!
但是您的servlet可能会在其生命周期方法中调用它想要的东西。