JavaWeb三大组件之Servlet学习
平时直接用springmvc较多,都没怎么接触底层的Servlet,导致对一些基本的知识点了解都不够,所以今天专门的抽出时间来学习一下
带着问题出发,看下可以怎么玩
- 如何自定义一个Servlet
- 自定义的Serlvet如何工作
- servlet的优先顺序怎么判定
- servlet匹配是怎样的 (url-mapping...)
- 如何获取参数(get请求参数,post请求参数,上传文件)
- 如何返回数据(返回页面,返回文件,返回二进制)
- 请求头和返回头的设置
I. 基本知识点
1. 什么是Servlet
Servlet是JavaWeb的三大组件之一,它属于动态资源。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要:
2. 怎么玩Servlet
一般来讲,创建一个自定义的Servlet有两个步骤,在web.xml中配置serverlt的声明;实现Servlet接口,实现自定义的Servlet逻辑
一个简单的case如下
web.xml中,添加配置
<servlet> <servlet-name>doc-servlet</servlet-name> <servlet-class>com.yihui.study.DocServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>doc-servlet</servlet-name> <url-pattern>/study/*</url-pattern> </servlet-mapping>
实现自定义Servlet
public class DocServlet extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setCharacterEncoding("utf-8"); PrintWriter writer = resp.getWriter(); writer.append("这是一个自定义servlet") .append("emoj