JSP
JSP编译好的Class文件继承了HttpServletBase
而HttpServletBase又继承了HttpServlet HttpServlet又实现了Servlet和ServletConfig接口(配置Servlet信息的接口)
Servlet
根据我的理解Servlet就是一个继承了HttpServlet的普通类
只不过JSP和Servlet 前者是间接继承了HttpServlet 后者是直接继承了HttpServlet
拓展:Servlet输出乱码问题
今天入遇到一个奇怪的问题,我明明在Servlet里处理了乱码可是依然乱码
request.setCharacterEncoding("utf-8");
PrintWriter out=response.getWriter();
response.setContentType("text/html;charset=utf-8");
但是我后来试着换了个位置就好了
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
原来是因为我创建输出对象out在response.setContentType("text/html;charset=utf-8");之前,我的理解是这样的
由于out先创建了没有事先知道需要用什么编码处理输出的变量,先处理乱码在创建out对象,这样Out就知道了要用utf-8的编码格式输出了