jsp:
<form action="test" method="post">
username:<input type="text" name="username"><br>
password:<input type="password" name="pwd">
<input type="submit"> </form>Test.java
public class Test extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{ }
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
}
}web.xml
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>Test</servlet-name>
<servlet-class>com.ht.servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
疑问:
1) 当我提交的时候,是通过action找到Test这个类了吧?
2) 那怎么就自动的调用了doPost()这个方法了呢?
<form action="test" method="post">
username:<input type="text" name="username"><br>
password:<input type="password" name="pwd">
<input type="submit"> </form>Test.java
public class Test extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{ }
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
}
}web.xml
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>Test</servlet-name>
<servlet-class>com.ht.servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
疑问:
1) 当我提交的时候,是通过action找到Test这个类了吧?
2) 那怎么就自动的调用了doPost()这个方法了呢?
那么怎么知道的就调用doPost()呢?
是通过哪里调用了呢?
service中调用的doPost方法
问题2:父类HttpServlet中有service方法调用的doPost方法这一切都是Servlet容器自动实现的,有兴趣可以看Servlet源码
HttpServlet 的 service是方法吧,那也可以自动调用?
启动TOMCAT servlet.ini方法自动执行
客户端发出请求 servlet.service方法自动执行
关闭TOMCAT servlet.destroy方法自动执行