您的位置:首页 > 编程语言 > Java开发

一张图搞定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种作用域容器



设置编码

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 元素:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐