分享知识-快乐自己:初中级 java 面试题宝典

1):Jsp的重定向和转发的流程有什么区别

  重定向是客户端行为,转发是服务器端行为

  重定向时服务器产生两次请求,转发产生一次请求,重定向时可以转发到项目以外的任何网址,转发只能在当前项目里转发

  重定向会导致request对象信息丢失。转发则不会

  转发的url不会变,request.getRequestDispatch()。forward()

  重定向的url会改变,response.getRedirect();

  重定向(response)不能访问 WEB-INFO 下的页面,而转发(request)可以

2):Jsp和servlet的区别

  1、JSP在本质上就是SERVLET,但是两者的创建方式不一样.

  2、Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观.

  3、JSP由HTML代码和JSP标签构成,可以方便地编写动态网页

        因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.

  1、JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。

  2、JSP编译后是“类servlet”。

  3、Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP是Java和HTML组合成一个扩展名为.jsp的文件。

  4、JSP侧重于视图,Servlet主要用于控制逻辑。

3):Jsp的九大对象,七大动作,三大指令

四大作用域的详解Demo

1、out :向客户端输出数据,字节流,如:out.print(“data”);

2、request :接受客户端的http请求。

3、response: 响应客户的请求,重定向客户转任意界面。

4、session :用于保存用户信息,跟踪用户行为,当前打开的浏览器内,多个页面共享数据,session对象指的是客户端与服务器的一次会话,

   从客户连接服务器的一个webApplication开始,直到客户端与服务器断开连接为止,它是HttpSession类的实例,

   setAttribute(String name,Object obj):设置属性名为name 属性值为obj,getAttribute(String  name) 得到属性值。

5、application:对象 实现是用户间数据的共享,可存放全局变量,它开始于服务器的启动, 直到服务器的关闭,

   在此期间,此对象将一直存在,这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作,

   在任何地方对此对象属性的操作,都将影响到其他用户对此的访问,服务器的启动和关闭决定了application对象的生命,它是ServletContext类的实例。

6、page :代表jsp这个实体本身,即当前页面有效,相当于java中的this,数据范围:page<session<application

7、exception :运行时异常,在会发生异常的页面加入指令:<%@ page errorPage=“处理错误的页面.jsp” %> 在处理异常的页面写入:<%@ page inErrorPage=“true”%>

8、pageContext :pageContext 对象提供了对jsp页面内所有的对象及名字空间的访问,也就是说它可以访问到本页所在的session,也可以取本页所在的application 的某一属性值,

   它相当于页面中所有功能的集大成者。它的本类名也叫pageContext。

9、config jsp对应的servlet的配置,可以得到web.xml 中的初始化参数。

jsp七大动作:

1、include: 动态包含 它会总是检查所含文件中的变化,适合用于包含动态页面,并且可以带参数,flush属性:用true,表示页面可刷新,默认为false

2、useBean :<jsp:useBean id=“对象名” class=“包名.类名” scope=“作用范围(request/page/application/session)”/> 作用域默认为page(本页面有效)。

3、getProperty :从对象中取出属性值:<jsp:getProperty name=“javaBean对象” property=“javaBean对象属性名”/>

4、setProperty: 为对象设置属性值:<jsp:setProperty name=“javaBean对象” property=“javaBean对象属性名” value=http://my.csdn.net/“值”/>

   为对象设置属性值:<jsp:setProperty property=“javaBean对象属性名” name=“javaBean对象” param=“username”/>

5、param :传递参数 到达跳转页面可以通过 request.getParameter(“参数名”)方式取出参数值 <jsp:include page=“转向页面的url” > <jsp:param name=“参数名1” value=“http://my.csdn.net"参数值1” >

6、forward :跳转页面 <jsp:forward page=“login.jsp”/>

7、plugin jsp:plugin 用于指定在客户端运行的插件

jsp三大指令:

1、@page 指定编码 <%@ page language=“java” contenType=“text/html;charset=utf-8” pageEncoding=“utf-8” >    @ page 导包 <%@ page import="java.util.* "%>

2、include 静态包含 <%@ include file=“include.jsp”%>

3、taglib 是用来在当前jsp页面中导入第三方的标签库 <%@ taglib prefix=“c” url=“http://java.sun.com/jsp/jstl/core” %>

   prefix:指定标签前缀 (可以随意起名) url:指定第三方标签库的url(唯一标识) 当然 需要先把第三方标签库所需jar包放到类路径中。

 

猜你喜欢

转载自www.cnblogs.com/mlq2017/p/10118728.html