Hello,今天给各位童鞋们分享的是Servlet,赶紧拿出小本子记下来吧
Servlet
servlet是sun公司开发动态web的一门技术
sun在这些api中提供了一个接口叫做servlet,如果要做一个servlet程序,只要两个步骤
1、编写一个类,实现servlet接口
2、把开发好的java类部署到web服务器中
把实现了servlet接口的java程序叫做servlet
HelloServlet
1、构建一个普通的maven项目。删掉src目录,以后我们的学习就在这个项目里面建立Moudle;这个空的工程就是maven主工程
2、关于maven父子工程的理解:
父项目中会有:
子项目中会有:
父项目中的jar包,子项目可以直接使用son extends father3、maven环境优化
修改web.xml为最新的
将maven结构搭建完整4、编写一个servlet程序
编写一个普通类
实现一个接口,直接继承HttpServlet
5、编写servlet的映射
我们写的是java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,我们需要在web服务中注册我们写的servlet,还需要给他一个浏览器能够访问的地址
【注意】
在这里配置web.xml文件的时候,web-app标签出现了红线报错,刚开始我碰到这个问题的时候很诅丧,感觉怎么会有这个错误,大致看了下还像是定义上缺失了一些元素,然后聪明的我将错误提示复制下来查询了下,发现了解决方案:
解决servlet项目web.xml文件中web-app标签报错
6、配置Tomcat
7、启动测试
Servlet原理
Servlet是由web服务器调用,web服务器在收到浏览器请求之后
Mapping问题
1、一个servlet可以指定一个映射路径
2、一个servlet可以指定多个映射路径
3、一个servlet可以指定通用映射路径
4、默认请求路径
*前面不可以加映射路径,比如:
5、指定一些后缀或者前缀
6、优先级问题指定了固有的映射路径优先级最高,如果找不到就会走默认的请求处理
ServletContext
web容器在启动的时候,它会为每个web程序都创建一个servletContext对象,代表当前应用:
1、共享数据:我在这个servlet保存的数据可以在另一个servlet访问到输入数据:
输出数据 :
2、获取初始化参数第一步,配置web.xml:
第二步,写实现类
第三步:输出
3、请求转发
4、读取资源文件Properties类
java目录下生成properties
resources目录下生成properties发现:都被打包到了同一个路径下:classes,我们俗称路径为classpath;【思路】
需要一个文件流
访问测试即可!!!!!
HttpServletResponse
web服务器接收到客户端的http请求,针对这个请求会分别创建代表请求的HttpServletResponse对象,代表响应的一个HttpServletResponse;
如果要获取我们客户端请求过来的参数,找HttpServletRequest
如果要给客户端响应一些参数,找HttpServletResponse
1、简单分类
负责向浏览器发送数据的方法:
ServletOutputStream getOutputStream() throws IOException;
PrintWriter getWriter() throws IOException;
负责向浏览器发送响应头的方法
2、常见应用
向浏览器输出消息
下载文件,上传文件
(1)获取下载文件的路径
(2)下载的文件名
(3)想办法让浏览器支持我们下载需要的东西
(4)获取下载文件的输入流
(5)创建缓冲区
(6)获取OutputStream对象
(7)将OutputStream流写到缓冲区
(8)使用OutputStream将缓冲区的数据写到客户端
好啦,今天的文章就到这里了,希望能够帮助到屏幕前迷茫的你们