Java Web基础知识
五、Java Web
- 页面访问的处理工作流程
HTTP中GET与POST方法有什么区别?
HTTP请求的方法有很多种类,例如GET、POST、HEAD、TRACE、OPTIONS等,但是GET与POST是两个最常用的方法。其中,GET是最简单的一种请求方法,其主要功能是从服务器端获取用户所需资源,并将其作为相应返回给客户端。
什么是Servlet?
HTML只能用来保存静态内容,而通常情况下,静态页面很难满足实际应用的需要,鉴于此,动态页面的概念被引入。所谓动态页面,指的是能够根据不同时间、不同用户而显示不同内容的页面。那如何才能生成动态页面呢?
其中一种方法是采用公共网关接口【Common Gateway Interface】。CGI是一种用Perl脚本编写的程序,可以用来生成动态页面,而另一种方法则是采用Servlet技术。
那什么是Servlet呢?Servlet是采用Java语言编写的服务器端程序,它运行于Web服务器中的Servlet容器中,其重要功能是提供请求或者相应的Web服务器模式,可以生成动态的Web内容。
优点:
(1)有较好的可移植性。
(2)执行效率高。
(3)功能强大。
(5)使用方便。
(6)可扩展性强。
public class MyServlet extends HttpServlet{ public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOExecption{ } public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOExecption{ PrinterWriter out = response.getWriter(); out.println("hello world"); } }
Servlet处理请求的方式为以线程的方式。
Servlet与CGI有什么区别?
答:相较于CGI,Servlet处于服务器进程之中,它通过多线程方式运行期service()方法,一个实例可以服务于多个请求,并且其实例一般不会被销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率不如Servlet.
Servlet的生命周期
1.加载
2.创建
3.初始化
4.处理客户请求
5.卸载
JSP与Servlet有何异同?
相同点:JSP可以被看作一个特殊的Servlet,它只不过是对Servlet的扩展,只要是JSP可以完成的工作,使用Servlet都可以完成。JSP页面最终要被转换成Servlet来运行,因此处理请求实际上是编译后的Servlet。
不同点:(1)Servlet的实现方式是在Java中嵌入HTML代码,编写和修改HTML非常不方便,所以它比较适合做流程控制、业务处理;而JSP的实现方式为在MVC设计模式的控制层,JSP位于视图层。(2)Servlet中没有内置对象,JSP中的内置对象都是必须通过HttpServletRequest对象、HttpServeltResponse对象以及HttpServlet对象得到。
MVC模型
JSP主要内置对象有:request、response、pageContext、session、application、out、config、page、exception
什么事Ajax
Ajax是一个结合了java技术、XML以及JavaScript的编程技术,其主要目的是在不刷新页面的情况下通过与服务器进行少量数据的交互来提高页面的交互性,减少响应时间,从而改善用户体验。
cookie和session有什么区别
cookie是在HTTP下,服务器或脚本可以维护客户工作站上信息的一种方式。
session是指用来在客户端与服务器之间保持状态的解决方案以及存储结构。
区别:
1.cookie机制采用的是在客户端保持状态的方案,即数据存放在客户的浏览器上;而session机制采用的是在服务器端保持状态的方案,即数据 放在服务器上。
2.cookie安全性不够。由于cookie信息存放在客户端,其他人可以很容易地得到存放在本地的cookie,并进行cookie欺骗;而session信息存放在服务器端,因此比较安全。
3.cookie性能更高一些。由于session会在一定时间内保存在服务器上,因此当访问量争增多时,会降低服务器的性能。