一张图搞定Java的servlet,servlet使用中的关键技术
2017-06-20 14:05
357 查看
一张图学Java 2017-06-19 13:19
Servlet是Java中实现动态网页的技术,小编今天的内容延续昨天的文章《一张图搞定Java的servlet,servlet执行过程和编写》,继续聊servlet。
题外话。小编在昨天和大家聊servlet的时候,许多头条的朋友点赞和评论了,先谢谢大家!头条指数里有个健康度,也就是说在文章中评论、点赞、收藏、转发、互动的人越多,文章的健康度也越高。小编从后台数据来看,我的健康度有点低。大家用碎片化时间读文章是想娱乐放松下的,谁曾想看小编的文章还得耗费脑细胞,妈妈咪啊,太难为人了,难怪众人参与的热情不高涨,说实话小编自己看别人的技术博文也是这样子的。好在,小编的文章阅读和收藏比例是4:1,也就是说4个人里有一个人收藏了我的文章,这说明小编的文章对大家来说还是有点价值的,很
happy !
评论里留言的大多数人说小编的文章:很基础很实用。其实这些文章是小编的学习笔记,解决的是小编曾经的痛点。学习者的视觉和老师的视觉是不一样的,老师高屋建瓴的讲述可能不一定能让初学者容易掌握。小编的笔记是小编在Java里摸爬滚打掉进坑里后爬出来树立的一块路标——此处有坑。这样的路标多了,后来人看到总可以少走许多弯路。小编写了许多这样技术干货性的文章,一直珍藏在个人文件夹中,现今在头条里进行分享,谢谢支持!
言归正传,继续正文。
servlet的知识导图
常用对象
request对象
request表示请求,主要功能是接受客户端发来的请求信息,封装了客户端请求参数,它由webserver生成。
常用方法:
获取某参数的值:request.getParameter("");
获取某类参数的值:request.getParameterValues("");
设置请求信息的编码:request.setCharacterEncoding();
获取转发对象:request.getRequestDispatcher();
获取request范围的参数:request.getAttribute();
response对象
response表示响应,主要功能是完成服务器对客户端发来的请求的响应。
常用方法:
跳转到指定地址页面:response.sendRedirect(“地址”);
设置响应信息的编码:response.setCharacterEncoding("utf-8");
向客户端添加cookies:response.addCookie("");
设置 servlet 动态生成的网页的编码和我那工业的类型:
response.setContentType("text/html;c");
设置servlet动态生成的网页的编码和网页的类型:response.setContentType("text/html;charset=utf-8");
页面2秒一刷新:response.setHeader(“refresh”,”2”);
session对象
Session即会话,表示从访问站点开始到离开站点或者关闭浏览器这段时间。
主要用于保存同一用户在同一站点的不同页面操作的信息。
当访问某一个网站时,网站的服务器会分配一个sessionID给当前的浏览器,浏览器将sessionID存储起来,之后再向服务器发送请求时,携带sessionID.服务器根据sessionID判断是不是同一个用户。
HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面。Session的信息保存在服务器端,Session的id保存在客户机的cookie中。事实上,在许多服务器上,如果浏览器支持的话它们就使用cookies,但是如果不支持或废除了的话就自动转化为URL-rewriting,session自动为每个流程提供了方便地存储信息的方法。
Session的销毁只有三种方式:
调用了session.invalidate()方法
session 过期(超时)
服务器重新启动
Tomcat 默认session 超时时间为30分钟,设置session 超时有两种方式:
Java代码中设置:session.setMaxInactiveInterval(10); // 单位是秒
在web.xml配置:
<session-config>
<session-timeout>10</session-timeout>
</session-config>
application对象
当Web服务器启动时,Web服务器会自动创建一个application对象,application对象一旦创建,它将一直存在,直到Web服务器关闭。
一个Web服务器通常有多个Web服务目录 (网站),当Web服务器启动时,它自动为每个Web服务目录都创建一个application对象,这些application对象各自独立,而且和Web服务目录一一对应。
访问同一个网站的客户都共享一个application对象,因此,application对象可以实现多客户间的数据共享。
this.getServletContext()方法来获取整个网站的上下文对象。
作用域
Servlet给我们提供了3种作用域容器
通常要求页面的编码为utf-8,数据库的编码也为utf-8。
以上三种方法对于post,get提交都可以,但是post提交时,中文可以更简单.对于doPost方法:
相对路径:相对于当前资源的路径。
通过URL访问servlet
JSP页面的URL和web.xml中配置的<url-pattern>相匹配,然后通过<servlet-class>中配置的类全路径去访问对应的servlet。
Servlet跳转JSP页面
当前servlet路径是: ServletPathDirection/servlet/HelloServlet.java
目标资源路径:http://localhost:8080/Shop2/index.jsp
重定向:服务器到客户端(根目录指的是不带项目名的根目录,同JSP页面的跳转)
请求转发:服务器内部跳转(服务器内部,默认把项目名作为根目录,配置tomcat虚拟目录时可以去掉项目名)
您必须在 web.xml 中使用 error-page 元素来指定对特定异常 或 HTTP 状态码 作出相应的 Servlet 调用。
如果您想对所有的异常有一个通用的错误处理程序,那么应该定义下面的 error-page,而不是为每个异常定义单独的 error-page 元素:
Servlet是Java中实现动态网页的技术,小编今天的内容延续昨天的文章《一张图搞定Java的servlet,servlet执行过程和编写》,继续聊servlet。
题外话。小编在昨天和大家聊servlet的时候,许多头条的朋友点赞和评论了,先谢谢大家!头条指数里有个健康度,也就是说在文章中评论、点赞、收藏、转发、互动的人越多,文章的健康度也越高。小编从后台数据来看,我的健康度有点低。大家用碎片化时间读文章是想娱乐放松下的,谁曾想看小编的文章还得耗费脑细胞,妈妈咪啊,太难为人了,难怪众人参与的热情不高涨,说实话小编自己看别人的技术博文也是这样子的。好在,小编的文章阅读和收藏比例是4:1,也就是说4个人里有一个人收藏了我的文章,这说明小编的文章对大家来说还是有点价值的,很
happy !
评论里留言的大多数人说小编的文章:很基础很实用。其实这些文章是小编的学习笔记,解决的是小编曾经的痛点。学习者的视觉和老师的视觉是不一样的,老师高屋建瓴的讲述可能不一定能让初学者容易掌握。小编的笔记是小编在Java里摸爬滚打掉进坑里后爬出来树立的一块路标——此处有坑。这样的路标多了,后来人看到总可以少走许多弯路。小编写了许多这样技术干货性的文章,一直珍藏在个人文件夹中,现今在头条里进行分享,谢谢支持!
言归正传,继续正文。
servlet的知识导图
常用对象
request对象
request表示请求,主要功能是接受客户端发来的请求信息,封装了客户端请求参数,它由webserver生成。
常用方法:
获取某参数的值:request.getParameter("");
获取某类参数的值:request.getParameterValues("");
设置请求信息的编码:request.setCharacterEncoding();
获取转发对象:request.getRequestDispatcher();
获取request范围的参数:request.getAttribute();
response对象
response表示响应,主要功能是完成服务器对客户端发来的请求的响应。
常用方法:
跳转到指定地址页面:response.sendRedirect(“地址”);
设置响应信息的编码:response.setCharacterEncoding("utf-8");
向客户端添加cookies:response.addCookie("");
设置 servlet 动态生成的网页的编码和我那工业的类型:
response.setContentType("text/html;c");
设置servlet动态生成的网页的编码和网页的类型:response.setContentType("text/html;charset=utf-8");
页面2秒一刷新:response.setHeader(“refresh”,”2”);
session对象
Session即会话,表示从访问站点开始到离开站点或者关闭浏览器这段时间。
主要用于保存同一用户在同一站点的不同页面操作的信息。
当访问某一个网站时,网站的服务器会分配一个sessionID给当前的浏览器,浏览器将sessionID存储起来,之后再向服务器发送请求时,携带sessionID.服务器根据sessionID判断是不是同一个用户。
HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面。Session的信息保存在服务器端,Session的id保存在客户机的cookie中。事实上,在许多服务器上,如果浏览器支持的话它们就使用cookies,但是如果不支持或废除了的话就自动转化为URL-rewriting,session自动为每个流程提供了方便地存储信息的方法。
Session的销毁只有三种方式:
调用了session.invalidate()方法
session 过期(超时)
服务器重新启动
Tomcat 默认session 超时时间为30分钟,设置session 超时有两种方式:
Java代码中设置:session.setMaxInactiveInterval(10); // 单位是秒
在web.xml配置:
<session-config>
<session-timeout>10</session-timeout>
</session-config>
application对象
当Web服务器启动时,Web服务器会自动创建一个application对象,application对象一旦创建,它将一直存在,直到Web服务器关闭。
一个Web服务器通常有多个Web服务目录 (网站),当Web服务器启动时,它自动为每个Web服务目录都创建一个application对象,这些application对象各自独立,而且和Web服务目录一一对应。
访问同一个网站的客户都共享一个application对象,因此,application对象可以实现多客户间的数据共享。
this.getServletContext()方法来获取整个网站的上下文对象。
作用域
Servlet给我们提供了3种作用域容器设置编码
tomcat的默认编码是ISO-8859-1。通常要求页面的编码为utf-8,数据库的编码也为utf-8。
以上三种方法对于post,get提交都可以,但是post提交时,中文可以更简单.对于doPost方法:
Servlet路径跳转
绝对路径:放之四海而皆准的路径。相对路径:相对于当前资源的路径。
通过URL访问servlet
JSP页面的URL和web.xml中配置的<url-pattern>相匹配,然后通过<servlet-class>中配置的类全路径去访问对应的servlet。
Servlet跳转JSP页面
当前servlet路径是: ServletPathDirection/servlet/HelloServlet.java
目标资源路径:http://localhost:8080/Shop2/index.jsp
重定向:服务器到客户端(根目录指的是不带项目名的根目录,同JSP页面的跳转)
请求转发:服务器内部跳转(服务器内部,默认把项目名作为根目录,配置tomcat虚拟目录时可以去掉项目名)
获取初始化参数
在Web.xml中配置Servlet时,可以配置一些初始化参数。而在Servlet中可以通过ServletConfig接口提供的方法来取得这些参数。异常处理
当一个 Servlet 抛出一个异常时,Web 容器在使用了 exception-type 元素的 web.xml 中搜索与抛出异常类型相匹配的配置。您必须在 web.xml 中使用 error-page 元素来指定对特定异常 或 HTTP 状态码 作出相应的 Servlet 调用。
如果您想对所有的异常有一个通用的错误处理程序,那么应该定义下面的 error-page,而不是为每个异常定义单独的 error-page 元素:
相关文章推荐
- 读取、回收和重用:使用 Excel、XML 和 Java 技术轻松搞定报告在 XML 和 Excel 报告格式之间转换(2)
- 读取、回收和重用:使用 Excel、XML 和 Java 技术轻松搞定报告,第 2 部分
- 读取、回收和重用:使用 Excel、XML 和 Java 技术轻松搞定报告使用 Java 和 XML 技术读取 Excel 文件并写入新文件(1)
- 批判性地看待一种可行的表示技术:JavaServerPages servlet技术(下)
- 使用Java技术在Cocoon中实现商业逻辑
- 介绍一篇关于session的好文章,写的很详细(jsp-servlet 技术)----(转贴自JavaResearch)
- 用Java线程获取优异性能(II)——使用同步连载线程访问关键代码部份
- 批判性地看待一种可行的表示技术:JavaServerPages servlet 技术
- CSDN一张关于JavaScript的超级好贴(600分【精华贴】请大家把自己的精典Jsp,Java,Servlet技巧贴上来!)
- 用Java线程获取优异性能(II)——使用同步连载线程访问关键代码部份
- Java 程序破解初步 -> 使用帮助类(注入)技术
- 使用JAVA技术实现新一代OSS/BSS
- 用Java线程获取优异性能(II)——使用同步连载线程访问关键代码部份
- 使用 Java Servlets 2.4 来执行过滤
- J2EE 探索者:使用 Java Servlets 2.4 来执行过滤
- 使用 JAVA 技术实现新一代 OSS/BSS
- 使用Java技术在Cocoon中实现商业逻辑
- JAVA技术文章: 使用JWhich工具管理CLASSPATH
- 关于Java Servlet的Filter 技术
- 第四课 Java Servlet技术