发表于: 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底层的实现,对理解框架有很大的好处


返回列表 返回列表
评论

    分享到