Servlet --接口
|
|
GenericServlet --抽象类
|
|
HttpServlet -- 抽象类
Servlet:
@WebServlet("/demo1")
public class ServletDemo1 implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("demo1...");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
GenericServlet :
将Servlet接口中其他的方法做了默认空实现,只将service( )方法作为抽象;
将来定义Servlet类时,可以继承GenericServlet, 实现service( )方法即可;
@WebServlet("/demo2")
public class ServletDemo2 extends GenericServlet {
//默认生成
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("demo2...");
}
//手动复写init
@Override
public void init() throws ServletException {
super.init();
}
}
HttpServlet :
对http协议的一种封装,简化操作;
1.定义类继承HttpServlet
2.复写doGet/doPost方法
@WebServlet ("/demo3")
public class ServletDemo3 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doGet...");//浏览器请求
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doPost...");
}
}
login.html
<body>
<!-- 指定提交方式为post -->
<form action="/demo3" method="post">
<input name="username"><br>
<input type="submit" value="提交">
</form>
</body>