发表于: 2017-08-03 23:31:15
1 1134
今日完成的事情】
今天看了下框架,但是发现对底层实现不清楚,所以理解SpringMVC也有难度。
所以今天学习了Servlet的相关知识:
首先是流程:
其中比较关键的就是Request和Response:
ServletRequest接口: 请求对象,封装了获取所有请求信息(请求行,请求头,请求实体)的方法.
HttpServletRequest接口:是ServletRequest的子接口,处理HTTP协议请求的方法.
---------------------------------------------------------------------------
常用方法:
01.String getMethod():返回请求方式:如GET/POST
02.String getRequestURI():返回请求行中的资源名字部分:如/test/index.html
03.StringBuffer getRequestURL():返回浏览器地址栏中所有的信息
04.String getContextPath():返回当前项目的上下文路径(<Context/>元素的path属性值.)
05. String getRemoteAddr():返回发出请求的客户机的IP地址
06.String getHeader(String name):返回指定名称的请求头的值。
获取请求参数的方法:
01.String getParameter(String name):返回指定名字参数的值。
02.String[] getParameterValues(String name):返回指定名字参数的多个参数值。
03.Enumeration<String> getParameterNames():返回所有参数名的Enumeration对象。
04.Map<String,String[]> getParameterMap():返回所有的参数和值所组成的Map对象。
ServletResponse接口: 响应对象.封装了获取响应信息的方法.
HttpServletResponse接口:ServletResponse的子接口,可以处理HTTP响应的方法.
------------------------------------------------------------------------------
常用方法:
OutputStream getOutputStream():获取字节输出流对象. 文件下载.
PrintWriter getWriter():获取字符输出流对象
注意:上述方法,不能共存,否则报错.
设置输出的MIME类型(内容的类型):
response.setContentType("text/html");//不能写错
设置输出数据的编码方式:
response.setCharacterEncoding("UTF-8");
可以将上述两行代码合并成一行代码:
response.setContentType("text/html;charset=utf-8");
注意:必须先设置MIME类型和编码,再获取输出流,否则没有效果.
这里为了理解底层,编写了一个非常简单且古老的servlet demo:
Servlet有着固定的格式体系,WEB-INF下放lib和classes文件夹,并且classes文件夹要bulid path,web.xml也要有。
这里只写了,servlet的init初始化方法和service服务方法
启动Tomcat并在浏览器访问资源,成功
【明日计划】:理解并编写SpringMVC demo
【今日收获】:了解了Servlet底层的实现,对理解框架有很大的好处
评论