讲一下get和post请求的区别
GET和POST都是http的请求方式,用户通过不同的http的请求方式完成对资源(url)的不同操作 GET POST PUT DELETE对应这个资源的查,改,增,删 4个操作, GET一般用于获取/查询资源信息,POST一般用于更新资源信息 1、GET提交,请求的数据会在地址栏显示出来,而POST请求不会在地址栏显示(数据放置在HTTP包的包体中) 2、传输数据的大小,GET请求由于浏览器对地址长度的限制而导致传输的数据有限制 而POST请求不会因地址长度限制而导致传输数据有限 3、安全性,POST的安全性比GET高,数据会在地址中呈现。说一下你对servlet的理解?或者servlet是什么?
servlet全称 Java Servlet,是用java编写的服务器端程序。 其主要功能在于交互式地浏览和修改数据,生成动态Web内容 Servlet运行于支持Java的应用服务器中 HttpServlet重写doGet和doPost方法或重写service方法完成对get和post请求的响应简单说一下servlet的生命周期
servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。 这个生存期由javax.servlet.Servlet接口的init,service和destory方法表达、 加载servlet的class--实例化servlet--调用servlet的init完成初始方法-- 响应请求(servlet的service方法)--servlet容器关闭时(servlet的destory方法) servlet启动时,开始加载servlet生命周期开始。servlet被服务器实例化后,容器运行其init方法, 请求到达时运行其service方法,service方法自动派遣运行与请求对应对的doXXX方法(doget、doPost)等 当服务器决定将实例销毁的时候(服务器关闭)调用其destory方法 Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。 (1)加载:容器通过类加载器使用servlet类对应的文件加载servlet (2)创建:通过调用servlet构造函数创建一个servlet对象 (3)初始化:调用init方法初始化 (4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求 (5)卸载:调用destroy方法让servlet自己释放其占用的资源Servlet API中forword()和redirect()的区别?
1、forword是服务器端的转向而redorect是客户端的跳转 2、使用forword浏览器的地址不会发生变化,而redirect会发生变化 3、forword是一次请求中完成,而redirect是重新发送请求 4、forword是服务器端完成,而不用客户端重新发送请求,效率较高JSP和Servlet有哪些相同点和不同点
JSP是Servlet技术的扩展,所有的jsp文件都会被翻译为一个继承HttpServlet的类。 JSP最终也是一个Servlet,这个Servlet对外提供服务 Servlet和JSP最主要的不同点在于JSP侧重于视图,Servlet侧重于控制逻辑 Servlet如果要实现html的功能,必须使用writer输出对应的html,比较麻烦。 而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp文件,方便做界面JSP有哪九大内置对象?作用分别是什么?
request 用户端请求,此请求会包含来GET/POST请求的参数 response 网页传回用户端的回应 pageContext 网页的属性是在这里管理 session 与请求有关的会话 application servlet正在执行的内容 out 用来传送回应的输出 config servlet的架构文件 page JSP网页本身 exception 针对网页错误,未捕捉的例外 四大作用域:pageContext request session application 可以通过jstl从四大作用域中取值说一下session和cookie的区别?你在项目中都有哪些地方使用?
Session和cookie都是会话跟踪技术,cookie通过在客户端记录信息确定用户身份, session通过服务器端记录信息确定用户身份, 但是session的实现依赖于cookie,sessionId(session的唯一标识需要存放在客户端) cookie和session的区别 1、cookie数据存放在客户的浏览器上,session数据存放在服务器上 2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑安全用session 3、session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器的性能, 考虑到减轻服务器性能方面,应当使用cookie 4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie 5、所以建议: 将登陆信息等重要信息存放为session 其他信息如果需要保留,可以放在cookie中,比如购物车 购物车最好使用cookie,但是cookie是可以在客户端禁用的,这时候我们要使用cookie+数据库的方式实现, 当cookie中不能取出数据时,就从数据库获取MVC的各个部分都有哪些技术来实现
M(model) javabean(service + dao) V(view) html jsp freemarker C(control) servlet action JSP+servlet +javabean 最经典的MVC模式 使用struts2和springmvc这样的mvc jsp+核心控制器+action+javabeanservlet和CGI
servlet处于服务器进程中,它通过多线程方式运行其service方法, 一个实例可以服务于多个请求,并且其实例一般不会销毁, 而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。ajax有哪些优点和缺点?
优点 1、最大的一点是页面无刷新,用户的体验好 2、使用异步方式与服务器通信,具有更加迅速的响应能力 3、ajax的原则是"按需求取数据",可以最大程度的减少冗余请求,和响应对服务器造成的负担 4、基于标准化被广泛支持的技术,不需要下载插件 缺点 1、ajax不支持浏览器back按钮 2、安全问题 ajax暴露了与服务器交互的细节 3、对搜索引擎的支持比较弱 4、破坏了程序的异常机制 5、不容易调试ajax应用和传统web应用有什么不同
在传统的JS编程中,如果想得到服务器端数据或发送客户端信息到服务器, 需要建立一个HTML form然后GET或POST数据到服务器端, 用户需要点击submit按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载 因为传统的web应用有可能很慢,用户交互不友好 使用ajax技术,就可以使JS通过XMLHttpRequest对象直接与服务器进行交互。 通过HTTP Request,一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息 展示给用户的还是同一个页面,页面刷新也看不到JS后台进行的发送请求和接受响应,体验非常好ajax的实现流程是怎么样的?
1、创建XMLHttpRequest对象 XMLHttpRequest request = new XMLHttprequest(); 2、创建新的Http请求 XMLHttprequest.open(method,url.flag,name,password); 3、设置响应Http请求变化的函数 XMLHttprequest.onreadystatechange=getData; function getData(){ if(XMLHttpr equest.readyState==4){获取数据} } 4、发送http请求 XMLHttprequest.send(data); 5、获取异步调用返回的对象 function(data){} 6、使用js、DOM实现局部刷新 myDiv.innerHTML="这是刷新后的数据"JSP标签的作用?如何定义?
作用: 分离jsp页面的内容和逻辑 业务逻辑开发者可以创建自定义标签 封装业务逻辑 定义 写标签处理器 写tld文件 将标签处理器和tld文件放到同一包里 jsp页面和标签库配置部署在一起