输出输入工具

1.out:用于向客户端、浏览器输出数据。

2.request(HttpservletRequest类):用于吸收客户端要求信息。

jsp转为servlet代码JSP和Servlet初级常识点总结 Ruby

3.response(HttpServletResponse类):封装了做事器的相应,用于相应客户端。

通信掌握工具

4.session(HttpSession类):保存会话信息。

5.application:相称于一个全局表量,实现不同用户的信息共享。

6.pageContext:供应对其他八个工具的访问。

servlet工具

7.page(Object类):代表JSP本身,相称于java中的this引用变量。

8.conf(ServletConfig类):封装运用要求的配置信息。

非常工具

9.exception:封装JSP实行过程中发生的非常和缺点信息。

二、Servlet生命周期

当有一个servlet要求被Web做事器吸收到,做事器先调用init()方法进行初始化。
知道servlet工具被销毁,init()方法只会被调用一次。

此后每次用户要求时,Web做事器都会调用service()方法来处理要求。
service会检讨用户要求办法,选择调用doGet或者doPost等方法。

调用destroy()销毁servlet工具,destroy也只调用一次,末了JVM垃圾回收器进行回收。

三、JSP和servlet的差异与联系

JSP(Java Server Pages):java做事器页面,其根本是简化servlet的设计。

servlet:是java编写的做事端程序,紧张功能是交互式地浏览和修正数据,天生动态Web内容。

JSP代码实行前,会被做事真个JSP引擎转换为.java文件,然后由JSP引擎调用Java编译器,将其.java文件编译为.class文件,然后由JVM实行。

servlet本身是.java文件,编译后由JVM实行。

JSP更善于页面的表示,个中也可以嵌入java代码。
而servlet紧张是java代码,卖力业务逻辑掌握。

四、doGet和doPost的差异

form表单中默认是get办法,超链接中也是get办法。

1、get提交的表单数据会存放在URL地址后,可以直接看到,安全性低。
post提交的表单数据存放在http协议体中,无法直接看到,安全性高。

2、get提交办法数据量长度有限,一样平常不超过2kb,post提交办法没有大小限定,更适宜大规模的数据传输。

3、get办法在用户刷新时不会有任何提示,post会弹出提示框,问用户是否重新提交。

五、JSP四个浸染域

1、page:在当前的JSP页面有效,跳转后无效。

2、request:从一个要求被处理到返回相应全体过程有效。
数据被转发到其他jsp页面依然有效。

3、session:在当前会话有效,也便是说从一个浏览器开启到关闭都有效。

4、application:相称于全局变量,只要不被手动删除,或关闭web做事器,在任何浏览器中都有效。

六、转发和重定向的差异

1、转发是在做事端行为,客户端并不知道。
而重定向是客户端行为。

2、转发的速率快,重定向慢。

3、转发是同一个要求,而重定向是两个不同的要求。

4、转发的URL地址栏不会变,重定向会变成要求的新地址。

5、转发后request域中的信息可访问到,重定向不能。

6、转发可以访问WEB-INF文件夹,重定向不能。

注释:转发和重定向事理。

转发过程:客户首先发送一个要求到做事端,做事端匹配servlet,servlet实行时调用getRequestDispacher()方法,把要求直接转发给指定的test.jsp,全体流程都是在做事端进行的,也都是在同一个要求完成的,servlet和test.jsp共享同一个request。

重定向过程:客户端发送第一个要求,做事端匹配servlet,servlet调用sendRedirect()方法,这个方法是response的方法,做事端返回这个相应,见告客户端你须要再发送一个要求去访问test.jsp。
客户端吸收到做事真个这个相应后,就急速发出第二个新要求,去要求test.jsp。
两个要求互不滋扰,相互独立,所有之前的request域里的值,重定向的test.jsp都访问不到。

七、session的失落效韶光设置

1、在servlet中用session.setMaxInactiveInterval(int interval)方法设置失落效韶光,以秒为单位的。

2、在web.xml里设置:(已分钟为单位)

<session-config>

<session-timeout>30</session-timeout>

</session-config>

3、tomcat的conf文件夹下的web.xml里设置,同上。
(已分钟为单位)

八、乱码问题及办理

1、JSP页面中,设置<%@ page language=\公众java\公众 contentType=\"大众text/html;

charset=UTF-8\"大众 pageEncoding=\公众UTF-8\"大众%>

2、servlet中,request.seCharacterEncoding(“utf-8”);

3、把获取到的字符串,转成byte数组,在转成”utf-8”字符集。
例如:

String s = request.getgetParameter(\"大众name\公众);

byte[] b = s.getbytes(“iso-8859-1”);

String s2 = new String(b,”utf-8”);