随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)、博主微信(guyun297890152)、QQ技术交流群(183198395)。
1、常见几种java服务器:
Tomcat,JBoss,Weblogic,Websphere
2、Tomcat和JBoss有什么区别:
同:Tomcat和JBoss都是按照官方的规范而做的服务器产品
异:Tomcat只实现了Servlet/JSP规范;JBoss实现了Servlet/JSP规范,还实现了其他的规范,比如EJB和JMS。
3、Weblogic和JBoss的区别
JBoss和Weblogic都是按照官方的规范而做的服务器产品,都实现了Servlet/JSP, EJB, JMS等等的规范。
不同点在于,一个是开源的,一个是商业产品
4、HTTPServlet:
(1)、线程管理(线程池)
(2)、协议的解析
(3)、组件的管理
(4)、会话的管理
5、JSP:servlet另外的一种编写方式,可以让我们以文本文件的形式去写servlet
6、MVC指什么:
C(控制层):控制业务流程
V(表现层):数据的输入和输出,提交和显示
M(业务层):业务数据,加工、处理和存储
7、session是什么:
session是服务端的一个空间,session是存在服务端的,客户端存储session的编号,通过session的编号,可以使用session的空间,如果session没有了,只有重新申请一个。
8、使用session要注意些什么:
(1)、session不能存放安全性极高的东西,所以session是不安全的,因为session可以通过id进行访问,session的ID并没有进行加密。
(2)、session不能存放大量的数据,因为一个服务器是同时被多个用户访问的。
(3)、要求持久性的数据,不能存放进session,因为一关浏览器,session的ID就消失了,session中数据就没有了;就算浏览器不关,一段时间后,服务器的超时机制会响应,关闭session;
9、session中能存放什么:
(1)登录以后的用户名;(2)图片验证码
10、JSP注意些什么:
(1)、可以用一些标签库
(2)、页面做好表单验证,表单不做验证会出现很大的隐患,用户会提交无用的数据,浪费数据库的资源;
(3)、很多情况下要用到AJAX技术,(什么是AJAX)运行在浏览器的javascript,向服务器发请求(HTTP请求),服务器给回的数据一般是XML或者是Json,JS拿到数据后去局部的更新页面;使用AJAX可以提升用户的体验。
11、表单提交时get和post的区别
(1)本质上的区别在协议上,这是两种不同的协议, post在协议中可以带数据;get只能在请求地址中通过请求参数传输数据(限于文本)
(2)post提交的数据量受服务器限制;get提交的数据量受浏览器地址栏长度的限制,所以文件的上传只能用post。
(3)都不安全,如果要保证安全用http协议。
12、描述Servlet的生命周期
容器如何去创建servlet对象,如何分配其资源,调用其方法处理请求,以及如何在不需要时销毁这个servlet对象的整个过程叫做Servlet的生命周期。
Servlet的生命周期分为四个阶段,分别是实例化,初始化,就绪和销毁。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。
13、列举HttpServletRequest的常用方法
1)获取请求参数:getParameter(String name) ;getParameterMap()
2)获得请求的地址,getRequestURI()
3)获取请求应用名,getContextPath()
4)获取协议头的信息,getHeader()
5)根据请求信息中的sessionID获得session,getSession()
6)作为一个容器,存取数据,setAttribute();getAttribute();
7)设置解码的编码格式,setCharacterEncoding(String charset);(默认为iso8859-1)
8)获取请求信息中提交的cookie,getCookies()
9)getRequestDispatcher("").forward(request,response);
14、列举HttpServletResponse的常用方法
1)获得响应内容的输出流,getWriter();输出文本;getOutputStream();字节信息
2)设置响应头中的contentType,setContentType();
3)通过响应头传递Cookie,addCookie();
4)生成重定向响应给浏览器,sendRedirect();