Servlet是Java中实现动态网页的技术:
如果有想学习java的程序员,可来我们的java学习扣qun:79979,2590免费送java的视频教程噢!小编是一名5年java开发经验的全栈工程师,整理了一份适合18年学习的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 元素: