3年码农的我带你深刻了解Servlet知识点,想精通看这一篇就够了

Hello,今天给各位童鞋们分享的是Servlet,赶忙拿出小本子记下来吧java

image.png

Servlet

servlet是sun公司开发动态web的一门技术web

sun在这些api中提供了一个接口叫作servlet,若是要作一个servlet程序,只要两个步骤api

一、编写一个类,实现servlet接口浏览器

二、把开发好的java类部署到web服务器中服务器

把实现了servlet接口的java程序叫作servletmarkdown

HelloServlet

一、构建一个普通的maven项目。删掉src目录,之后咱们的学习就在这个项目里面创建Moudle;这个空的工程就是maven主工程app

二、关于maven父子工程的理解:maven

父项目中会有:学习

image.png 子项目中会有:测试

image.png 父项目中的jar包,子项目能够直接使用son extends father三、maven环境优化

修改web.xml为最新的

将maven结构搭建完整四、编写一个servlet程序

编写一个普通类

实现一个接口,直接继承HttpServlet

image.png 五、编写servlet的映射

咱们写的是java程序,可是要经过浏览器访问,而浏览器须要链接web服务器,咱们须要在web服务中注册咱们写的servlet,还须要给他一个浏览器可以访问的地址

【注意】

在这里配置web.xml文件的时候,web-app标签出现了红线报错,刚开始我碰到这个问题的时候很诅丧,感受怎么会有这个错误,大体看了下还像是定义上缺失了一些元素,而后聪明的我将错误提示复制下来查询了下,发现了解决方案:

解决servlet项目web.xml文件中web-app标签报错

六、配置Tomcat

七、启动测试

Servlet原理

Servlet是由web服务器调用,web服务器在收到浏览器请求以后

image.png

Mapping问题

一、一个servlet能够指定一个映射路径

image.png 二、一个servlet能够指定多个映射路径

image.png 三、一个servlet能够指定通用映射路径

image.png 四、默认请求路径

image.png *前面不能够加映射路径,好比:

image.png

五、指定一些后缀或者前缀

image.png

六、优先级问题指定了固有的映射路径优先级最高,若是找不到就会走默认的请求处理

image.png

ServletContext

web容器在启动的时候,它会为每一个web程序都建立一个servletContext对象,表明当前应用:

一、共享数据:我在这个servlet保存的数据能够在另外一个servlet访问到输入数据:

image.png

image.png 输出数据 :

image.png

image.png 二、获取初始化参数第一步,配置web.xml:

image.png 第二步,写实现类

image.png 第三步:输出

image.png 三、请求转发

image.png 四、读取资源文件Properties类

java目录下生成properties

resources目录下生成properties发现:都被打包到了同一个路径下:classes,咱们俗称路径为classpath;【思路】

须要一个文件流

image.png 访问测试便可!!!!!

HttpServletResponse

web服务器接收到客户端的http请求,针对这个请求会分别建立表明请求的HttpServletResponse对象,表明响应的一个HttpServletResponse;

若是要获取咱们客户端请求过来的参数,找HttpServletRequest

若是要给客户端响应一些参数,找HttpServletResponse

一、简单分类

负责向浏览器发送数据的方法:

ServletOutputStream getOutputStream() throws IOException;

PrintWriter getWriter() throws IOException;
复制代码

负责向浏览器发送响应头的方法

image.png 二、常见应用

向浏览器输出消息

下载文件,上传文件

(1)获取下载文件的路径

(2)下载的文件名

(3)想办法让浏览器支持咱们下载须要的东西

(4)获取下载文件的输入流

(5)建立缓冲区

(6)获取OutputStream对象

(7)将OutputStream流写到缓冲区

(8)使用OutputStream将缓冲区的数据写到客户端

image.png

好啦,今天的文章就到这里了,但愿可以帮助到屏幕前迷茫的大家

相关文章
相关标签/搜索