Java Web的知识点_chenjie的博客

1、什么是Servlet

可以从两个方面来看Servlet

一、API:有一个servlet接口,它是所有用来处理客户端请求程序必须要实现的顶级接口。
二、组件:服务器用来处理客户端请求的一个组件,需要在web.xml文件中进行配置。

2、Servlet的生命周期

servlet有良好的生存期的定义,包括:加载和实例化、初始化、处理请求和服务结束。
这个生存期由javax.servlet.servlet接口中的init()、service()、destroy()方法来表达。

3、Servlet API中的forword()和redirect()方法的区别

一、重定向会改变地址栏的URL,而请求转发不会。
二、重定向不可以在前后页面之间共享资源,而请求转发可以
三、重定向对服务器进行了两次请求,而请求转发只进行了一次。请求转发相对来说效率更高。

4、request.getParameter()和request.getAttribute()的区别

一、request.getParameter()获取的是String类型的数据,而request.getAttribute()获取的是Object类型的数据。
二、request.getParameter()获取的是前台页面form表单中相应标签的值,而request.getAttribute()获取的是域对象中的值。
三、request.setAttribute()方法和request.getAttribute()方法可以用来在域中进行设置和读取数据。而request.getParameter()只能读取数据,没有reuqest.serParameter()方法。

5、JSP的内置对象有哪些?他们的作用是什么?

request:获得客户端请求的信息。
response:向客户端做出响应。
session:保存一次客户端会话的一些信息。
out:管理对客户端的信息输出。
exception:管理页面中发生的异常,可以从这个里面获得异常信息。
config:也就是ServletConfig。
application:整个项目应用环境的一些信息。
page:表示当前JSP页面。
pageContext:当前JSP页面的上下文。

6、JSP的四大作用域有哪些?

pageContext:页面作用域
request:请求作用域
session:会话作用域
application:服务器作用域

7、JSP常用的指令有哪些?

page指令:负责页面的一些属性的定义:
    contentType=“text/html;chatset=utf-8”;向浏览器页面输出数据信息的编码方式。
    pageEncoding=“utf-8”;JSP页面编译成JAVA文件时所使用的编码方式。
    session=“true”;是否自动创建session;
include指令:引入一个静态的JSP页面。
taglib指令:引入一个标签库,比如jstl等。

8、页面间传递参数的方法有哪些?

request、session、application、cookie等

9、客户端浏览器和tomcat服务器的编码方式分别是什么?当页面遇到编码错误,怎么在两种编码方式中进行转换?

客户端浏览器的编码方式为:utf-8, tomcat服务器编码方式为iso-9959-1;

当遇到编码错误的时候,可以做如下转化:

public String translate(String str){
	String s ="";
	try{
		s = new String(str.getBytes("iso-9959-1"), "utf-8");
	}catch(Exception e){
		e.printStackTrace();
	}
	return s;
}

10、get和post的区别?

一、传递参数的方式:get是通过?和&符号对需要传递参数进行拼接,而post则将需要传递的参数放到请求主体中。
二、安全性:get方式会把相关信息显示在url地址栏,会暴露敏感信息;而post相对来说更安全。
三、传参数量:get方式传递参数的数量是受限制的,超过最大限制部分的数据全部作废;而post方式传参理论上不受限制。
四、传参编码问题:get方式限制form表单的数据集必须为ASCII字符,而post则支持整个ISO 10646字符集。
五、其他:get方式是form表单的默认提交数据的方式,get方式提交参数的速度比post方式要快。

11、cookie和session的区别

一、保存位置不同:cookie存放在浏览器客户端,session存放在服务器端。
二、安全性:cookie因为存放在客户端,容易被人拿来分析用于非法活动,并不安全;而session存放于服务器相对来说更安全。但安全的同时也增加了服务器的负担,所以不重要的数据一般存放在cookie中。
三、存活时间:cookie默认存活时间为当前会话的时间,会话结束cookie失效;session默认存活时间是30分钟。但是两者都可以修改数据的存活时间。
四、保存数据的大小和类型:cookie只能存String类型的数据,且单个cookie不能超过4K,一般单个站点最多保存20个;而session存储的数据类型不仅仅局限于String,其他很多数据类型都可以存储, 存储数量上也远远大于cookie。

你可能感兴趣的:(JAVA)