1.说说Jetty与Tomcat的区别
- 相同点
Tomcat和Jetty都是一种Servlet引擎,他们都支持标准的Servlet和JavaEE的规范 - 不同点
- Jeety更小更快更灵活,内核更小,默认使用utf-8字符集,不存在中文乱码情况,不太适合做大型开放项目
- Tomcat比较传统,功能更强大,特别适合大型项目开发。缺点:经常有中文乱码,默认使用
ISO_8859_1
字符集。- Tomcat服务器中文乱码的解决方案
- request.setCharacterEncoding();修改
- 使用过滤器。(推荐使用过滤器) :只能解决 post请求的乱码
- 在Tomcat安装目录下的
conf目录
下的server.xml
添加URIEncoding=utf-8
:只能解决get请求的乱码
- Tomcat服务器中文乱码的解决方案
2.如何修改Jetty默认端口?如何修改Tomcat默认端口?
-
修改Jetty默认端口
- 在Jetty目录下打开
start.ini
配置文件(本人安装地址是:D:Javaenvironmentjetty) - 在配置文件中找到
jetty.http.port=8888
可以更改后面的端口号
- 在Jetty目录下打开
-
修改Tomcat默认端口
- 在
Jetty目录
下的conf目录
打开server.xml
配置文件 - 找到
Connector port="8080"
修改即可
- 在
3.如何启动jetty服务器?
-
下载压缩包解压(本人解压在
D:Javaenvironmentjetty
中) -
解压后目录和文件的解释
-
在windows系统下用cmd启动
用
java -jar start.jar
运行,运行成功即可看到如下图
4.简述Servlet的生命周期。
-
如果是第一次请求
-
如果不是第一次请求
说明这个servlet已经驻留内存了,直接执行Service方法
5.Servlet如何处理用户的请求?
流程图如下:
6.说说get请求和post的请求的区别。
- get用于获取数据,而post一般用于提交数据
- POST的安全性要比GET的安全性高。注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求在URL中传送的参数是有长度限制的,而POST没有。
- 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
总结:
Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!
7.说说相对地址与绝对地址的区别。
- 相对地址
相对地址相对当前资源的地址。 容易出错,写法简单 - 绝对地址
绝对地址放之四海而皆准的地址。 肯定不会出错,拼起来比较麻烦
8.说说请求重定向与请求转发的区别。
-
重定向
B一个web资源收到客户端A请求后,B他会通知A客户端去访问另外一个web资源C,这个过程叫重定向
-
请求转发
B一个web资源收到客户端A请求后,B他会请求C客户端,C客户端去转发到B,通过B客户端A客户端访问另外一个web资源C,这个过程叫请求转发
-
重定向和转发的区别?
- 相同点
页面都会实现跳转 - 不同点
- 请求转发的时候,url不会产生变化
- 重定向时候,url地址栏会发生变化;
- 相同点
9.jsp有哪九大内置对象?servlet如何获取session和application对象?
- jsp九大内置对象
- out
- page
- request(掌握)
- response(掌握)
- session(掌握)
- application(掌握)
- exception
- pageContext
- config
- request,response本身参数自带
- 获取session
request.getSession获取session; - 获取application
request.getServletContext().setAttribute(); 获取application - 四个内置对象范围从大到小排列
application>session>request>page
10.什么是单例?单例有哪些设计模式?
- 单例模式概念
- 顾名思义,就是在程序运行中,最多只能有一个实例化的对象
- 所以需要将构造方法私有化,本类来创建唯一的一个单例对象,再提供一个公共接口来返回该对象。这个公共接口即为一个类的静态方法,保证不能被外界访问,只能通过本类的类名来访问。
- 单例的设计模式
-
饿汉式:用的时候才创建对象
-
线程安全的单例:双重检测机制
-
加volatile关键字禁止指令重排序
-
静态内部类实现单例模式
-
枚举实现单例模式
-