HttpServelet 来自 Tomcat

  1. public class LoginController extends HttpServlet {
  2. @Override
  3. protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  4. // super.service(req, resp);
  5. System.out.println("login");
  6. }
  7. }
  1. <servlet>
  2. <servlet-name>login</servlet-name>
  3. <servlet-class>com.andxx.album.controller.LoginController</servlet-class>
  4. </servlet>
  5. <servlet-mapping>
  6. <servlet-name>login</servlet-name>
  7. <url-pattern>/login</url-pattern>
  8. </servlet-mapping>

浏览器发送请求后
Tomcat启动一个线程Handler

  1. 读取请求协议
  2. 解析 请求名和参数, 包装成 request, 并创建一个空response(以让控制层执行后的结果能获取回来)
  3. 找类对象(控制层类对象)

参考web.xml配置文件 (请求 与 真实类 的对应关系), 没有就404

  1. 用真实类名 返回 获取类对象 找到里面的 service 方法 并执行
  2. 响应信息交给 response

浏览器 接收 解析 展示 响应信息

service可以处理 get 和 post 请求
doGet可以处理get请求
doPost可以处理post请求

HttpServletRequest

getParameter()
post form-data getParameter()方法获取不到参数 x-www-form-urlencoded时可以获取到参数 why??

HttpServletResponse

setCharacterEncoding() “UTF-8”
setContentType() “application/json;charset=UTF-8”
setContentType()

getWriter()
write()
flush()