HttpServelet 来自 Tomcat
public class LoginController extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// super.service(req, resp);
System.out.println("login");
}
}
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.andxx.album.controller.LoginController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
浏览器发送请求后
Tomcat启动一个线程Handler
- 读取请求协议
- 解析 请求名和参数, 包装成 request, 并创建一个空response(以让控制层执行后的结果能获取回来)
- 找类对象(控制层类对象)
参考web.xml配置文件 (请求 与 真实类 的对应关系), 没有就404
- 用真实类名 返回 获取类对象 找到里面的 service 方法 并执行
- 响应信息交给 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()