1 JSP的内置对象有哪些?
request:request表示HttpServletRequest对象。取客户端表单域信息及cookie, header, 和session
session:表示请求的javax.servlet.http.HttpSession对象,session一个用户或者多个用户共享同一变量
application:表示javax.servlet..ServletContext对象,用来存放容器级的变量.
response:表示httpServletResponse对象,对客户端响应返回文本,并用来写cookie
out:向客户端打印HTML文本
page:表示从该页面产生的一个servlet实例
pagecontext:当前jsp页面的上下文环境,可以得到request,session,application等对象,在自定义标签中使用得多
config:表示javax.servlet.Httpconfig对象,用于存取servlet的初始化参数
exception:异常,当iserrorpage=true,产生一个exception对象, 基类是javax.servlet.jsp.JspException类
2 Java web中有几种上下文
request,session,application
要么就是
ServletContext, SctionContext, ServletAction\context
3 PageContext和ServletContext有什么区别?Application,session,request的区别?
ServletContext是容器上下文,指当前的一个web应用的上下文
pageContext javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext和getServletConfig等.
application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
request:请求作用域,就是客户端的一次请求.
4Jsp取出的结果集很大,如何实现分页?
5jsp页面之间对象传递的方法
传递方法有:page,request,session,application,其中cookie是保存在客户端的,是用来解决HTTP无状态问题。
6,getRequestDispatcher()与sendRedirect()的区别
response.sendRedirect("/a.jsp"):sendRedirect表示重定向,是在浏览器端运行的,传递的参数只能在url里,或者放在session里,无法使用request.setAttribute()传值,只适合无值跳转
request.getRequestDispatcher(/jsp路径或者servlet路径).forword(request,response),浏览器地址栏不变化,使用url中带parameter,session,request.setAttribute传值.
7jsp有哪些动作?作用分别是什么?
jsp:include在页面被请求的时候引入一个文件。
includ两种方法的实现 :
有两种实现方法,动态,静态。
动态:用于包含动态页面,并且可以随时检查页面的变化,采用jsp:include动作可以实现
静态,适合于包含静态页面,不检查页面的变化,采用include伪码实现
<%@include file="***.html"%>
jsp:useBean寻找或者实例化一个javaBean
jsp:getProperty输出某个javaBean属性
jsp:setProperty设置某个javaBean属性
jsp:plugin根据浏览器类型为java插件生成标记
jsp:forward把请求转发到一个新的页面
8JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
(1)都是java类,jsp是servlet的扩展,jsp用于页面表现层servlet用于逻辑控制
(2)setvlet中没有内置对象,jsp中的内置对象都是必须通过HttpServletRequest对象HttpServletResponse对象及HttpServlet对象得到
(3).jsp是servlet的一种简化,使用jsp只需要完成程序员需用输出到客户端的内容,jsp中的java脚本如何镶嵌到一个类中,由jsp容器完成,而servlet则是个完整的java类,这个类的service方法用于生成对客户端的响应
9serverlet的生命周期及各阶段的作用
(1)初始化阶段:调用init()方法
(2)响应客户请求:调用service()方法
(3)终止:调用destroy()方法
10java web两种跳转方式分别是什么?有什么区别?
response.redirect("/url")
1.forward跳转:a.服务器端跳转,地址栏不改变;b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);c.request设置的属性在跳转后的页面仍可以使用;d.使用
11cookie和session区别?
(1)cookie数据存放在客户的浏览器上,session数据放在服务器上
(2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session
(3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
(4)单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
(5)所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中
12举例说明session的使用情景.
session是用来保存用户信息,解决http协议无状态的问题,需要配合cookie使用
13怎么设置session的超时问题?
第一种方法:
HttpSession session = request.getSession(true);
session.setAttribute("user", user);
session.setMaxInactiveInterval(30);
注意:单位是秒,设置为0,-1表示session永不超时.
request.getSession(true)意思是:如果session存在,则返回该session,否则创建一个新的session.
request.getSession(false)意思是:如果session存在,则返回该session,否则返回null.
第二种方法:
在项目的web.xml配置文件中添加如下配置:
注意:单位是分,设置为0,-1表示永不超时.
第三种方法:
在tomcat的conf/web.xml配置文件中修改如下配置:
注意:单位是分,设置为0,-1表示永不超时.
14Tomcate如何配置web工程?
(1)、直接放到Webapps目录下
(2)、在server.xml中指定
15你在项目中用到了xml技术的哪些方面?如何实现的?
用到了数据存贮,信息配置两方面;在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络
传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参
数都存贮在XML文件中。
16J2EE是技术还是平台还是框架?
是面向企业应用的平台
17你用过哪些服务器?怎么指定内存的大小?
第一种方法:
Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:
JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'
需要把这个两个参数值调大。例如:
JAVA_OPTS='-Xms256m -Xmx512m'
表示初始化内存为256MB,可以使用的最大内存为512MB。
第二种方法: 环境变量中设 变量名:JAVA_OPTS 变量值:-Xms512m -Xmx512m
第三种方法:前两种方法针对的是bin目录下有catalina.bat的情况(比如直接解压的Tomcat等),但是有些安装版的Tomcat下没有catalina.bat,这个时候可以采用如下方法,当然这个方法也是最通用的方法:打开tomcatHome//bin//tomcat5w.exe,点击Java选项卡,然后将会发现其中有这么两项:Initial memory pool和Maximum memory pool.Initial memory pool这个就是初始化设置的内存的大小。Maximum memory pool这个是最大内存的大小 设置完了就按确定然后再重启TOMCAT你就会发现tomcat中jvm可用的内存改变了
jsp三大指令
(1)page指令
(2)include指令
当多个JSP页面出现相同代码时,可以单独抽取出来这部分代码用include引入。
(3)taglib指令
配置引入Jsp的Jar
JSP的三大常用标签详解-------include、forward、param