一:java的三大组件
Servlet,filter,listener
二:实现一个Servlet
- void init(ServletConfig argo)执行时机:当Servlet实例被创建时候调用,做初始化工作。ServletConfig:Servlet的配置对象,初始化的时候可以进行配置
- void service(ServletRequest arg0,ServletResponse arg1)执行时机:当一个请求来请求当前的Servlet的时候被调用,处理当前的Servlet的业务逻辑并把响应返回给浏览器
- String getServletinfo():获得当前的一些属性信息
- void destroy()执行时机:是Servlet的实例对象被销毁的时候调用,做一些收尾或清理工作
ServletConfig getServletConfig():获得ServletConfig的配置对象
三:写一个Servlet代码
1.创建一个类继承HTTPServlet或者Servlet接口(建议使用Servlet接口)
public class HttpServletDemo extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doGet方法被调用");
resp.getOutputStream().write("<font color='red'>hello Loanon</font>".getBytes());
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doPost方法被调用");
doGet(req, resp);
}
接口:
package com.r1.servlet;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class ServletDemo implements Servlet {
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
public void init(ServletConfig arg0) throws ServletException {
System.out.println("servlet初始化");
}
@Override
public void service(ServletRequest request , ServletResponse response) throws ServletException, IOException {
response.getOutputStream().write("<font color='blue'>hello Servlet1234</font>".getBytes());
}
}
2.重写Servlet的doget和dopost方法
3配置web.xml
<servlet>
<servlet-name>helloServlet</servlet-name>//随便写,但是要和下面的对应一样
<servlet-class>com.r1.servlet.ServletDemo</servlet-class>//具体的类路径
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>//和上面的名字一样
<url-pattern>/hello</url-pattern>//浏览器输入的域名</servlet-mapping>