动态include:
静态include:<%@include%>,直接将内容先包含后处理
两种跳转方式分别是什么?有什么区别?
服务器端跳转:
客户端跳转:response.sendRedirect(),跳转之后地址栏改变
简述在JSP中是如何实现分页操作的。
实现原理:
定义一系列的变量:currentPage, lineSize, 并通过查询求了allRecorders和计算求出pageSize pageSize=(AllRecorders + lineSize - 1)/lineSize
之后数据库查询语句中根据lineSize和currentPage进行数据的查询
Oracle中使用ROWNUM,mysql中使用limit()
之后通过表单不断的修改currentPage, lineSize就可以实现分页显示
介绍在JSP中如何使用JavaBean
JavaBean的格式要求:必须有包、public class 声明、属性封装、无参构造、setter\getter
import 语句导入或者通过
初始化,正常一次:对应init()方法,有两个init()其中一个是有ServletConfig对象,此方法存在则无参不调用,正常情况下第一次使用Servlet的时候才进行初始化的操作,当然也可以通过配置在容器启动的时候自动进行初始化
服务,服务多次:所有的服务器都由services()方法分配,主要有doGet()和doPost(),分别处理get和post请求
销毁,正常一次,调用destory()方法,如果一个Servlet长时间不用,也会自动销毁,而当再次使用的时候就必须重新进行初始化的操作
Servlet中forward()与redirect()的区别?
forward()方法是RequestDispatcher接口定义的,而redirect是response定义的,一个是服务器端跳转,另外一个是客户端跳转
MVC的各个部分都有哪些技术来实现?如何实现?
MVC:model view controller
model:JavaBean 业务处理、数据处理
view:显示的事JSP,最好不存在任何的scriptlet,可以使用标签消除
controller:控制,接收view传递的内容和调用javaBean,并根据javaBean的处理结果进行跳转
实现原理:所有的JSP将内容提交给Servlet,servlet接收这些内容并调用相应的JavaBean进行业务及数据的处理,一般javabean有专人负责开发,完成业务的操作流程,而servlet调用的只是接口,并根据这些接口的操作结果将内容交给JSP运行显示,但是显示的时候尽可能少出现Scriptlet代码
描述JSP和Servlet的区别、共同点、各自应用的范围
先有的Servlet再有的JSP,Servlet是在java中嵌入HTML代码,而JSP是在HTML中嵌入JAVA代码
共同点:JSP可以完成的功能,Servlet都可以完成,但是对于过滤器、监听器只能由Servlet完成
应用范围:JSP用于显示,Servlet用于控制
Ajax可以做异步请求么?
可以.ajax请求默认是异步的.如果想同步 把 async设置为false就可以了默认是true
一网站如果有大量的人登陆访问。那么会产生很多的session,如果你是程序员你该怎么办。
session默认保存在内存中,内存资源宝贵,session数据量大导致内存利用率高1、可以设置session超时时间,达到超时时间session自动清空2、将session中的数据序列化到硬盘中3、不使用session,使用cookie(此方法存在安全性问题)
一网站如果有大量的人登陆访问。那么会产生很多的session,如果你是程序员你该怎么办。
session默认保存在内存中,内存资源宝贵,session数据量大导致内存利用率高1、可以设置session超时时间,达到超时时间session自动清空2、将session中的数据序列化到硬盘中3、不使用session,使用cookie(此方法存在安全性问题)
Page,pageContext,request,response,session,application,out,config,exception
Page指的是JSP被翻译成Servlet的对象的引用.
pageContext对象可以用来获得其他8个内置对象,还可以作为JSP的域范围对象使用.pageContext中存的值是当前的页面的作用范围》
request代表的是请求对象,可以用于获得客户机的信息,也可以作为域对象来使用,使用request保存的数据在一次请求范围内有效。
Session代表的是一次会话,可以用于保存用户的私有的信息,也可以作为域对象使用,使用session保存的数据在一次会话范围有效
Application:代表整个应用范围,使用这个对象保存的数据在整个web应用中都有效。
Response是响应对象,代表的是从服务器向浏览器响应数据.
Out:JSPWriter是用于向页面输出内容的对象
Config:指的是ServletConfig用于JSP翻译成Servlet后 获得Servlet的配置的对象.
Exception:在页面中设置isErrorPage=”true”,即可使用,是Throwable的引用.用来获得页面的错误信息
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中
CSS中class和id的区别是?
id:每个页 ID 是唯一的不能重复。 class:可以设置多个 class 为同一个值。
谈谈对mvc 的认识
由模型(model),视图(view),控制器(controller)完成的应用程序由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;
MVC 是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC 应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。视图是用户看到并与之交互的界面。模型表示企业数据和业务规则。控制器接受用户的输入并调用模型和视图去完成用户的需求。
MVC 的优点:低耦合性、高重用性和可适用性、较低的生命周期成本、快速的部署、可维护性、可扩展性,有利于软件工程化管理
MVC 的缺点:没有明确的定义,完全理解 MVC 并不容易。不适合小型规模的应用程序。
doGet()方法和doPost()方法有什么区别?
doGet:GET方法会把名值对追加在请求的URL后面。因为URL对字符数目有限制,进而限制了用在客户端请求的参数值的数目。并且请求中的参数值是可见的,因此,敏感信息不能用这种方式传递。
doPOST:POST方法通过把请求参数值放在请求体中来克服GET方法的限制,因此,可以发送的参数的数目是没有限制的。最后,通过POST请求传递的敏感信息对外部客户端是不可见的。
什么是Servlet?
Servlet是用来处理客户端请求并产生动态网页内容的Java类。Servlet主要是用来处理或者是存储HTML表单提交的数据,产生动态内容,在无状态的HTTP协议下管理状态信息。