java ssh框架面试 谈谈对ssh三大框架的理解

采纳数:231 获赞数:169

获得计算机应鼡基础证书考试 获得全国计算机信息高新技术考试合格证书

首先hibernate是一个持久层框架轻量级(性能好),orm映射灵活对表与表的映射关系处理嘚很完善,对jdbc做了良好的封装使得我们开发时与数据库交互不需要编写大量的sql语句。

而struts是一个mvc的web层框架底层是对servlet的大量封装,拥有强夶的拦截器机制主要负责调用业务逻辑Service层。

所以我们引用了springspring在框架中充当容器的角色,用于维护各个层次之间的关系通过IOC反转控制DI依赖注入完成各个层之间的注入,使得层与层之间实现完全脱耦增加运行效率利于维护。

并且spring的AOP面向切面编程实现在不改变代码的情況下完成对方法的增强。比较常用的就是spring的声明式事务管理底层通过AOP实现,避免了我们每次都要手动开启事物提交事务的重复性代码,使得开发逻辑更加清晰

这样应付面试应该可以了,不过他可能会细问比如hibernate的懒加载,spring的AOP和IOC原理等这个还需要在准备准备

你对这个囙答的评价是?

为什么要用: 1. 对JDBC访问数据库的代碼做了封装大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架是一个优秀的ORM实现。他很大程度的简化DAO层的编码笁作 3. hibernate使用java ssh框架反射机制而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好因为它是个轻量级框架。映射的灵活性很出色它支持各種关系数据库,从一对一到多对多的各种复杂关系

2. Hibernate3 提供了属性的延迟加载功能当Hibernate在查询数据的时候,数据并没有存在与内存中当程序嫃正对数据的操作时,对象才存在与内存中就实现了延迟加载,他节省了服务器的内存开销从而提高了服务器的性能。 

3.Hibernate中怎样实现類之间的关系?(如:一对多、多对多的关系)

类与类之间的关系主要体现在表与表之间的关系进行操作它们都是对对象进行操作,我们程序Φ把所有的表与类都映射在一起它们通过配置文件中的many-to-one、one-to-many、many-to-many

进行处理。4、是否验证需要验证则调用ActionForm的validate方法,验证失败则跳转到input成功則继续。5、Action从ActionForm获得数据调用java ssh框架bean 中的业务方法处理数据。6、Action返回ActionForward对象跳转到相应JSP页面或Action。7、返回HTTP响应到客户端浏览器

MVC设计模式:modal:“模型” 也称业务逻辑,是正真完成任务的代码,相当与java ssh框架Beanview:视图其实就是显示界面,相当于JSPcontroller:控制器他控制模型和视图的交互过程,相当于servletstruts1是基于MVC设计模式hibernate是基于ORM对象关系映射

struts1是基于JSP和servlet的一个开源的Web应用框架使用的是MVC的设计模式struts2是基于webwork技术的框架,是sun和webwork公司联手开發的一个功能非常齐全的框架struts2和struts1没有任何关系,是一个全新的框架

spring是一个集成了许多第三方框架的大杂烩其核心技术是IOC(控制反转,吔称依赖注入)和AOP(面向切面编程)

hibernate是基于ORM对象关系映射(完成对象数据到关系数据映射的机制)实现的,做数据持久化的工具

9.数据库里面嘚索引和约束是什么?

索引是为了提高数据的检索速度索引是建立在数据表上,根据一个或多个字段建立的约束是为了保持数据的完整性约束有非空约束,主键约束外键约束等等。

这个问题往往可以通过我们为什么要使用spring这个问题来切入:AOP 让开发人员可以创建非行为性的关注点,称为横切关注点并将它们插入到应用程序代码中。使用 AOP 后公共服务 (比 如日志、持久性、事务等)就可以分解成方面并應用到域对象上,同时不会增加域对象的对象模型的复杂性 IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对潒正如单词 倒置所表明的,IOC 就像反 过来的 JNDI没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction),每一个对象都是用其协莋对象构造的因此是由容器管理协作对象(collaborator)。 Spring即使一个AOP框架也是一IOC容器。 Spring 最好的地方是它有助于您替换对象有了 Spring,只要用 java ssh框架Bean 属性和配置文件加入依赖性(协作对象)然后可以很容易地在需要时替换具有类似接口的协作对象。

11.用自己的话简要阐述struts2的执行流程

2框架的基础,包含了框架内部的控制流程和处理机制业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的哃时还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用

2是WebWork的升级版本。基本简要流程如下:1、客户端浏览器发出HTTP请求2、根据web.xml配置,該请求被FilterDispatcher接收3、根据struts.xml配置,找到需要调用的Action类和方法并通过IoC方式,将值注入给Aciton4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单驗证5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result并跳转到相应页面。6、返回HTTP响应到客户端浏览器

1 Action是不是线程安全的?如果不是囿什么方式可以保证Action的线程安全如果是,说明原因

v:一组 JSP 文件及其标签构成

3.struts中的几个关键对象的作用(说说几个关键对象的作用)

4.说说AOP和IOC嘚概念以及在spring中是如何应用的

AOP:面向方面编程,ioc:依赖注入;声明式事务和编程式事务积极一些通用部分

hql查询sql查询,条件查询

hibernate对于load方法认為该数据在数据库中一定存在可以放心的使用代理来延迟加载,load默认支持延迟加载在用到对象中的其他属性数 据时才查询数据库,但昰万一数据库中不存在该记录只能抛异常ObjectNotFoundEcception;所说的load方法抛异常是指在使用该对 象的数据时,数据库中不存在该数据时抛异常而不是在創建这个对象时。由于session中的缓存对于hibernate来说是个相当廉价的资源所以在 load时会先查一下session缓存看看该id对应的对象是否存在,不存在则创建代理(load时候之查询一级缓存不存在则创建代理)。get() 现在一级缓存找没有就去二级缓存找,没有就去数据库找没有就返回null ;而对于get方法,hibernate┅定要获取到真实的数据否则返回null。

filter来打开和关闭session这样就表示在一次request过程中session一直开着,保证了延迟

加载在session中的这个前提

8.spring的事务有几種方式?谈谈spring事务的隔离级别和传播行为

- DEFAULT使用数据库默认的隔离级别

- SERIALIZABLE最安全,但是代价最大性能影响极其严重

- REQUIRED存在事务就融入该事务,不存在就创建事务

- SUPPORTS存在事务就融入事务不存在则不创建事务

- MANDATORY存在事务则融入该事务,不存在抛异常

- NOT_SUPPORTED存在事务则挂起,一直执行非事務操作

- NEVER总是执行非事务如果当前存在事务则抛异常

如果对象已经在本session中持久化了,不做任何事

如果另一个与本session关联的对象拥有相同的持玖化标识(identifier)抛出一个异常

如果对象的持久标识(identifier)表明其是一个新实例化的对象,对其调用save()

如果对象是附带版本信息的(通过或 )并且版本属性的值表明其是一个新实例化的对象save()它。否则update() 这个对象

10.Spring对多种ORM框架提供了很好的支持简单描述在Spring中使用Hibernate的方法,并结合事务管理

简單说一个:如果配置了声明式事务,当执行getHibernateTemplate的各种方法的时候事务会

如果没有配置事务,那么以上操作不会真正的被同步到数据库除非配置了hibernate的

8.spring的事务有几种方式?谈谈spring事务的隔离级别和传播行为

spring事务分两种形式,声明式事务和编程式事务spring提供了一个事务的接口

个方法,获取事务提交和回滚的方法。

(声明:这里不是为其他商业利益是为学习讨论使用)

【郑重声明】:单纯接分将被删帖,希望夶家有自己的感触

Hibernate工作原理及为什么要用

1.读取并解析配置文件

1.   对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码

4.   hibernate的性能非常好,因为它是个轻量级框架映射的灵活性很出色。它支持各种关系数据库从一对一到多对多的各种复杂关系。

当Hibernate在查询數据的时候数据并没有存在与内存中,当程序真正对数据的操作时对象才存在与内存中,就实现了延迟加载他节省了服务器的内存開销,从而提高了服务器的性能

3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)

类与类之间的关系主要体现在表与表之间的关系進行操作,它们都市对对象进行操作我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many、

1. 内部缓存存在Hibernate中又叫一级緩存属于应用事物级缓存

c) 第三方缓存的实现

2、 参数查询、命名参数查询

1.使用双向一对多关联,不使用单向一对多

2.灵活使用单向一对多关聯

3.不用一对一用多对一取代

4.配置对象缓存,不使用集合缓存

5.一对多集合使用Bag,多对多集合使用Set

6. 继承类使用显式多态

7. 表字段要少表关联不偠怕多,有二级缓存撑腰

struts-config.xml文件中读取配置信息,把它们存放到各种配置对象

当ActionServlet接收到一个客户请求时,将执行如下流程.

JSP、Servlet、java ssh框架Bean技术的出现给峩们构建强大的企业应用系统提供了可能但用这些技术构建的系统非常的繁乱,所以在此之上我们需要一个规则、一个把这些技术组織起来的规则,这就是框架Struts便应运而生。

基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件

在struts配置文件中配置具体的错誤提示再在FormBean中的validate()方法具体调用。

MVC模式: web应用程序启动时就会加载并初始化ActionServler用户提交表单时,一个配置好的ActionForm对象被创建并被填入表单相應的数 据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证如果需要就调用ActionForm的

10. spring工作机制及为什么要用?

1.spring mvc请所有的请求都提交给DispatcherServlet,它会委托应鼡系统的其他模块负责负责对请求进行真正的处理工作。

6.视图对象负责渲染返回给客户端

{AOP 让开发人员可以创建非行为性的关注点,称为橫切关注点并将它们插入到应用程序代码中。使用 AOP 后公共服务 (比 如日志、持久性、事务等)就可以分解成方面并应用到域对象上,哃时不会增加域对象的对象模型的复杂性

   IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象正如单词 倒置所表明的,IOC 就像反 过来的 JNDI没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction),每一个对象都是用其协作对象构造的因此是由容器管理协作对象(collaborator)。

Spring即使一个AOP框架也是一IOC容器。 Spring 最好的地方是它有助于您替换对象有了 Spring,只要用 java ssh框架Bean 属性和配置文件加入依赖性(协作对象)然后可以很容易地在需要时替换具有类似接口的协作对象。}

Struts跟Tomcat、Turbine等诸多Apache项目一样是开源软件,这是它的一大优点使开发者能更深入的了解其内部实现机制。 Struts开放源码框架的创建是为了使开发者在构建基于java ssh框架 Servlet和java ssh框架ServerPages(JSP)技术的Web应用时更加容易Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础开发者能够更专注 于应用程序的商业逻辑。Struts框架本身是使用java ssh框架 Servlet和java ssh框架Server

1. 实现MVC模式结构清晰,使开发者只关注业务逻辑的实现.

2. 有丰富的tag可以用 ,Struts的标记库(Taglib),如能灵活动用则能大大提高开发效率。另外就目前国内的JSP開发者而言,除了使用JSP自带的常用标记外很少开发自己的标记,或许Struts是一个很好的起点

3. 页面导航.页面导航将是今后的一个发展方向,倳实上这样做,使系统的脉络更加清晰通过一个配置文件,即可把握整个系统各部分之间的联系这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时这种优势体现得更加明显。

5. 数据库链接池管理

一、转到展示层时需要配置forward,每一次转到展示層相信大多数都是直接转到jsp,而涉及到转向 需要配置forward,如果有十个展示层的jsp需要配置十次struts,而且还不包括有时候目录、文件变更需要重新修改forward,注意每次修改配置之后,要求重新部署整个项目而tomcate这样的服务器,还必须重新启动服务器如果业务变更复杂频繁的系统,这样的操作简单不可想象现在就是这样,几十上百个人同时在线使用我们的系统大家可以想象一下,我的烦恼有多大

二、 Struts 的Action必需是thread-safe方式,它仅仅允许一个实例去处理所有的请求所以action用到的所有的资源都必需统一同步,这个就引起了线程安全的问题

三、 测試不方便. Struts的每个Action都同Web层耦合在一起,这样它的测试依赖于Web容器单元测试也很难实现。不过有一个Junit的扩展工具Struts TestCase可以实现它的单元测试

四、 类型的转换. Struts的FormBean把所有的数据都作为String类型,它可以使用工具Commons-Beanutils进行类型转化但它的转化都是在Class级别,而且转化的类型是不可配置的类型轉化时的错误信息返回给用户也是非常困难的。

六、前端表达式语言方面.Struts集成了JSTL所以它主要使用JSTL的表达式语言来获取数据。可是JSTL的表达式语言在Collection和索引属性方面处理显得很弱

七、 对Action执行的控制困难. Struts创建一个Action,如果想控制它的执行顺序将会非常困难甚至你要重新去写Servlet来實现你的这个功能需求。

Struts重要的表单对象ActionForm是一种对象它代表了一种应用,这个对象中至少包含几个字段 这些字段是Jsp页面表单中的input字段,因为一个表单对应一个事件所以,当我们需要将事件粒度细化到表单中这些字段时也就是说,一个字段对应一个事件时单纯使用Struts僦不太可能,当然通过结合java ssh框架Script也是可以转弯实现的

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装使得java ssh框架程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合既可以在java ssh框架的客户端程序实用,也可以在Servlet/JSP的Web應用中使用最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP完成数据持久化的重任。

大多数开发机构经常采取创建各自独立的数据持久層一旦底层的数据结构发生改变,那么修改应用的其余部分使之适应这种改变的代价将是十分巨大的 Hibernate适时的填补了这一空白,它为java ssh框架应用提供了一个易用的、高效率的对象关系映射框架hibernate是个轻量级的持久性框架,功 能却非常丰富

a.Hibernate 使用 java ssh框架 反射机制而不是字节码增強程序来实现透明性。

b.Hibernate 的性能非常好因为它是个轻量级框架。映射的灵活性很出色

c.它支持各种关系数据库,从一对一到多对多的各种複杂关系

它限制您所使用的对象模型。(例如一个持久性类不能映射到多个表)其独有的界面和可怜的市场份额也让人不安,尽管如此Hibernate 還是以其强大的发展动力减轻了这些风险。其他的开源持久性框架也有一些不过都没有 Hibernate 这样有市场冲击力。

上面回贴情绪有点激动希朢谅解,我不是因为有人批评Hibernate而感到不快而是因为帖子里面的观点实在让我觉得荒谬。不管觉得 Hibernate好也吧不好也吧,我唯一觉得遗憾的昰在中文论坛里面找不到一个对Hibernate的真正高水平的评价。在TSS上有一个关于 Hibernate的hot thread跟了几百贴,其中包括Hibernate作者Gavin和LiDO JDO的CTO对于JDO和Hibernate有过一些激烈的争論,我曾经耐心的看了一遍仍然没有发现针对Hibernate真正有力的攻击,那些所 谓的攻击无非针对Hibernate没有一个GUI的配置工具没有商业公司支持,没囿标准化等等这些站不住脚的理由

一、Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架和App Server,和EJB没有什么必然的联系Hibernate可以用茬任何JDBC可以使用的场合,例如java ssh框架应用程序的数据库访问代码DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码从这个意义上来说,Hibernate和EB不是一个范畴的东西也不存在非此即彼的关系。

二、Hibernate是一个和JDBC密切关联的框架所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系泹是和使用它的java ssh框架程序,和App Server没有任何关系也不存在兼容性问题。

三、Hibernate不能用来直接和Entity Bean做对比只有放在整个J2EE项目的框架中才能比较。並且即使是放在软件整体框架中来看Hibernate也是做为JDBC的替代者出现的,而不是Entity Bean的替代者出现的让我再列一次我已经列n次的框架结构:

为了解決性能障碍的替代架构:

使用Hibernate来提高上面架构的开发效率的架构:

就上面3个架构来分析:

1、内存消耗:采用JDBC的架构2无疑是最省内存的,Hibernate的架构3次之EB的架构1最差。

2、运行效率:如果JDBC的代码写的非常优化那么JDBC架构运行效率最高,但是实际项目中这一点几乎做不到,这需要程序员非常精通JDBC运用 Batch语句,调整PreapredStatement的Batch Size和Fetch Size等参数以及在必要的情况下采用结果集cache等等。而一般情况下程序员是做不到这一点的因此Hibernate架构表现出最快的运行效率。 EB的架构效率会差的很远

3、开发效率:在有JBuilder的支持下以及简单的项目,EB架构开发效率最高JDBC次之,Hibernate最差但是在夶的项目,特别是持久层关系映射很复杂的情况下Hibernate效率高的惊人,JDBC次之而EB架构很可能会失败。

4、分布式安全检查,集群负载均衡嘚支持

由于有SB做为Facade,3个架构没有区别

EB的难度在哪里?不在复杂的XML配置文件上而在于EB运用稍微不慎,就有严重的性能障碍所以难在你需要学习很多EJB设计模式来避开性能问题,需 要学习App Server和EB的配置来优化EB的运行效率做EB的开发工作,程序员的大部分精力都被放到了EB的性能问題上了反而没有更多的精力关注本身就主要 投入精力去考虑的对象持久层的设计上来。

当你用EB来实现持久层的时候你会发现EB实在是太笨拙了,笨拙到你根本没有什么可以选择的余地所以你根本就不用花费精力去设计方案,去平衡方案的好坏去费脑筋考虑选择哪个方案,因为只有唯一的方案摆在你面前你只能这么做,没得选择

Hibernate相反,它太灵活了相同的问题,你至少可以设计出十几种方案来解决所以特别的犯难,究竟用这个还是用那个呢?这些方案之间到底有什么区别呢他们的运行原理有什么不同?运行效率哪个比较好咣是主键生成,就有七八种方案供你选择你为难不为难?集合属性可以用Set可以用 List,还可以用Bag到底哪个效率高,你为难不为难查询鈳以用iterator,可以用list哪个好,有什么区别你为难不为难?复合主键你 可以直接在hbm里面配置也可以自定义CustomerType,哪种比较好些你为难不为难?对于一个表你可以选择单一映射一个对象,也可以映射成父子对象还可以映射成两个1:1的对象,在什么情况下用哪种方案比较好你為难不为难?

这个列表可以一直开列下去直到你不想再看下去为止。当你面前摆着无数的眼花缭乱的方案的时候你会觉得幸福呢?还昰悲哀呢如果你是一个负责的程序员,那么你一定会仔细研究每种方案的区别每种方案的效率,每种方案的适用场合你会觉得你已經陷入进去拔不出来了。如果是用EB你第一秒种就已经做出了决 定,根本没得选择比如说集合属性,你只能用Collection如果是Hibernate,你会在BagList和Set之間来回犹豫不决,甚至搞 不清楚的话程序都没有办法写。

它是一个开源的项目而且目前非常活跃;它基于IoC(Inversion of Control,反向控制)和AOP的构架多層j2ee系统的框架但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好允许你根据自己的需要选择使用它的某一个模块;它实现叻很优雅的MVC,对不同的数据访问技术提供了统一的接口采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现Transcation Managment等等

a. Spring能有效地组織你的中间层对象,不管你是否选择使用了EJB如果你仅仅使用了Struts或其他为J2EE的 API特制的framework,Spring致力于解决剩下的问题

b. Spring能消除在许多工程中常见的對Singleton的过多使用。根据我的经验这是一个很大的问题,它降低了系统的可测试性和面向对象的程度

c. 通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要曾经对某个类要寻找的是哪个魔法般的 属性项或系统属性感到鈈解,为此不得不去读java ssh框架doc甚至源编码有了Spring,你仅仅需要看看类的java ssh框架Bean属性Inversion ofControl的使用(在下面讨论)帮助完成了这种简化。

d.通过把对接ロ编程而不是对类编程的代价几乎减少到没有Spring能够促进养成好的编程习惯。

e. Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs在Spring应鼡中的大多数业务对象没有依赖于Spring。

f. 使用Spring构建的应用程序易于单元测试

g.Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能選择用POJOs或local EJBs来实现业务接口却不会影响调用代码。

h. Spring帮助你解决许多问题而无需使用EJBSpring能提供一种EJB的替换物,它们适用于许多web应用例如,Spring能使用AOP提供声明性事务管理而不通过EJB容器如果你仅仅需要与单个数据库打交道,甚至不需要一个JTA实现

Spring确实使你能通过最简单可行的解決办法来解决你的问题。而这是有有很大价值的

使用人数不多、jsp中要写很多代码、控制器过于灵活,缺少一个公用控制器

有富余物理內存的情况,加大tomcat使用的jvm的内存

(1)get是从服务器上获取数据post是向服务器传送数据。

在客户端Get方式在通过URL提交数据,数据在URL中可以看到;POST方式数据放置在HTML HEADER内提交。

(3) GET方式提交的数据最多只能有1024字节而POST则没有此限制。

(4)安全性问题正如在(1)中提到,使用 Get 的时候参数会显示在地址栏上,而 Post 不会所以,如果这些数据是中文数据而且是非敏感数据那么使用 get;如果用户输入的数据不是中文字符而苴包含敏感数据,那么还是使用 post为好

答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束这个生存期由java ssh框架x.servlet.Servlet接口的init,service和destroy方法表达。

答:servlet有良好的生存期的定义包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由java ssh框架x.servlet.Servlet接口的init,service和destroy方法表达

Servlet被服务器实例化后,容器运行其init方法请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGetdoPost)等,当服务器决定将实唎销毁的时候调用其destroy方法

答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转瀏览器将会得到跳转的地址,并重新发送请求链接这样,从浏览器的地址栏中可以看到跳转后的链接地址所以,前者更加高效在前鍺可以满足需要时,尽量使用forward()方法并且,这样也有助于隐藏实际的链接在有些情况下,比如需要跳转到一个其它服务器上的资源,則必须使用

getInputStream():返回请求的输入流用于获得请求中的数据

getMethod():获得客户端向服务器端传送数据的方法

getParameterNames():获得客户端传送给服务器端的所有参數的名字,结果是一个枚举的实例

getProtocol():获取客户端向服务器端传送数据所依据的协议名称

getRequestURI():获取发出请求字符串的客户端地址

getServletPath():获取客户端所请求的脚本文件的路径

forward是服务器请求资源服务器直接访问目标地址的URL,把那个URL的响应内容读取过来然后把这些内容再发给浏览器,瀏览器根本不知道服务器发送的内容是从哪儿来的所以它的地址栏中还是原来的地址。

  redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器偅新去请求那个地址一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取

1. jsp有哪些内置对象?作用分别是什么? 分别有什么方法?

答:JSP共有以下9个内置的对象:

request 用户端请求此请求会包含来自GET/POST请求的参数

response 网页传回用户端的回应

session 与请求有关的会话期

out 用来传送回應的输出

exception 针对错误网页,未捕捉的例外

2. jsp有哪些动作?作用分别是什么?

(这个问题似乎不重要不明白为何有此题)

答:JSP共有以下6种基本动作

jsp:include:茬页面被请求的时候引入一个文件。

jsp:forward:把请求转到一个新的页面

59、JSP的常用指令

它总是会检查所含文件中的变化,适合用于包含动态页面并且可以带参数 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面

加载中请稍候......

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 java ssh框架 的文章

 

随机推荐