web期末复习要点.docx

上传人:b****1 文档编号:19351224 上传时间:2023-04-24 格式:DOCX 页数:19 大小:241.03KB
下载 相关 举报
web期末复习要点.docx_第1页
第1页 / 共19页
web期末复习要点.docx_第2页
第2页 / 共19页
web期末复习要点.docx_第3页
第3页 / 共19页
web期末复习要点.docx_第4页
第4页 / 共19页
web期末复习要点.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

web期末复习要点.docx

《web期末复习要点.docx》由会员分享,可在线阅读,更多相关《web期末复习要点.docx(19页珍藏版)》请在冰豆网上搜索。

web期末复习要点.docx

web期末复习要点

题型:

一.判断题(共10题,每题2分,共计20分)

二.名词解释(共4题,每题5分,共计20分)

三.简答题(共4题,每题8分,共计32分)

四.程序题(共3题,第一题4分,第二题3分,第三题21分,共计28分)

一.判断题(共10题,每题2分,共计20分)

二.名词解释(共4题,每题5分,共计20分)

三.简答题(共4题,每题8分,共计32分)

四.程序题(共4题,其中1题4分,2、3、4题各3分,共计13分)

五.系统设计题(共计15分)

复习要点:

1.常用技术词汇的中英文含义:

JDBC—javadatabaseconnectivityjava数据库连接池

ORM(ObjectRelationalMapping),即对象关系映射。

DAO是DataAccessObject数据访问接口,夹在业务逻辑与数据库资源中间。

JSTL(JSPStandardTagLibrary,JSP标准标签库

AOP为AspectOrientedProgramming的缩写,意为:

面向方法编程

POJO(PlainOldJavaObjects)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。

反转控制(IOC)(InversionofControl)

MVC—Model(模型),View(视图),Controller(控制器)

====================================================================

2.简述说明MVC模式是什么,在Struts中每个模块的功能。

1.模型(Model):

模型表示应用程序中的状态和业务逻辑的处理,在一般的Web应用程序中,用JavaBean或者EJB来实现系统的业务逻辑,在Strus框架中,模型层也是用JavaBean或EJB实现的。

2.视图(View)

在Strus中,视图层广义上包含两个部分,即JSP页面和ActionForm。

ActionForm封装了用户提交的表单信息,其实ActionForm在本质上就是JavaBean(java类,属性和方法(getter和setter)),在这些JavaBean中没有具体的业务逻辑,只提供了所有属性的getter和setter方法,这些属性和用户表单的输入项是一一对应的。

在Strus中就是通过ActionForm把用户的表单信息提交给控制器的。

Strus中的视图组件包括JSP页面,这也是经典MVC模式中主要的视图组件,这些JSP页面承担了信息展示和控制器处理结果显示的功能。

3.控制器(Controller)

Strus框架中,主要的控制器是ActionServlet,它处理用户端发送过来的所有请求。

当ActionServlet接收到来自浏览器端的请求后,会根据strus-config.xml这个配置文件寻找匹配的URL,然后把用户的请求发送到合适的控制器中。

Strus框架就是通过控制器ActionServlet完成模型层和业务逻辑层的分离,从而降低了Web应用程序的耦合,实现了MVC的经典架构。

3.Struts开发中有三种中文乱码的情况,分别是哪三种?

如何解决?

✠页面显示中文乱码

⏹解决方法<%@pagepageEncoding="utf-8"%>

✠传递参数中文乱码,两种方法

⏹经典方法:

Filter解决办法,写一个过滤器将其语言过滤成可认中文字符;然后在web.xml中加入该过滤器

⏹对ActionServlet进行扩展,在service()方法中设置编码.然后在web.xml中进行设置。

解决方法1

⏹1.修改Tomcat目录conf文件夹下的server.xml大概67行

⏹2.编写过滤器,新建一个包:

com.zhangli.struts.filter,新建一个java类:

CharacterEncodingFilter,该类继承自java.servlet的filter类

在这里,我们只需要复写doFilter方法即可,为了使参

数更形象化,我们将arg0改成request,将arg1改成response,并

添加两行代码:

publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,

ServletException{

request.setCharacterEncoding("utf-8");

chain.doFilter(request,response);

}

⏹3.要让过滤器生效,需要在web.xml中增加对filer的设置,这些设置需放在其他设置之前

CharacterEncodingFilter

com.zhangli.struts.filter.CharacterEncodingFilter

CharacterEncodingFilter

/*

⏹4,重启服务器

解决方法2

⏹1.在包com.zhangli.struts.action里新建ActionServlet类,父类为ActionServlet:

⏹publicclassActionServletExextendsActionServlet{

   privatefinalStringENCODING_CHAR_SET="encodingCharSet";

   privatefinalStringDEFAULT_ENCODING_CHAR_SET="UTF-8";

   privateStringencodingCharSet;

   publicvoidinit()throwsServletException

   {

       this.encodingCharSet=super.getInitParameter

           (ENCODING_CHAR_SET);

       if(this.encodingCharSet==null)

           this.encodingCharSet=this.DEFAULT_ENCODING_CHAR_SET;

       super.init();

   }

   protectedvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)

       throwsServletException,IOException

   {

       request.setCharacterEncoding(this.encodingCharSet);

       super.service(request,response);

   }

}

⏹2.修改web.xml里面的配置

org.apache.struts.action.ActionServlet

改为:

com.zhangli.struts.action.ActionServletEx

⏹3.重启服务器

✠国际化中文乱码--------使用ResourceBundleEditor插件

a,下载软件Eclipse插件ResourceBundleEditor

b,将其解压缩后生成一个plugins文件夹

c,将plugins文件夹复制拷贝到eclipse的安装目录下,将会覆盖原来的plugins文件夹

d,将Tomcat关闭,重启eclipse

e,重启eclipse平台后,修改login.jsp将代码

username:

textproperty="username"/>

errorsproperty="username"/>

password:

passwordproperty="password"/>

errorsproperty="password"/>

修改为:

messagekey="example.login.username"/>:

textproperty="username"/>

errorsproperty="username"/>

messagekey="example.login.password"/>:

passwordproperty="password"/>

errorsproperty="password"/>

f,双击打开ApplicationResources.properities文件,添加两行代码:

example.login.password=password

example.login.username=username

该代码是在login.jsp里出现的两个标签key值

g,用“资源文件编辑器”的方式打开ApplicationResources.properities文件

h,打开编辑器后,选择新建一个中文文件,生成一个名称为ApplicationResources_zh_CN.properities文件

i,再用“资源文件编辑器”方式打开ApplicationResources.properities文件,编辑

j,用“文本编辑器”方式打开ApplicationResources_zh_CN.properities文件,发现该文件已经变成unicode编码,显示的方式是中文

4.在Struts中,redirect=true跟redirect=false有何区别,特点各是什么?

✠Redirect=“true”浏览器重定向

✠比喻:

就像人在浏览器的地址栏中重新输入了网址,然后转向该网址一样,只是,这个不是由人输入的,是程序控制的而已。

✠特点:

⏹1.  可以转到任意网页,无论是本站点的,还是别的站点。

例如可以用此方法从自己的网站跳到sohu主页

⏹2. request会被清空,因为就好像你在浏览器里面重新输了一个地址,request自然不能被传过去

⏹3. form表单中的东西会被清空,即使是跳到同一个页面,form中的东东也会被清空。

因为连request都没有保住,form中的东西更不能保存

✠Redirect=“false”服务器端跳转

✠比喻:

服务器把用户的请求转到了另一个地方

✠特点:

⏹1.只能在一个web服务中跳转

⏹2.   request保留

⏹3.   form表单会保留

5.在使用Struts标签库或者JSTL标签库时,设到某个Bean里的变量在jsp页面读取不出来,请问有哪三种可能原因?

1)redirect=false;

2)没导入标签库;

3)action中bean的名称与jsp不一致;

6.为表单添加Validatior验证框架的步骤?

Struts自带了Validator验证框架

1,添加了Struts开发能力后,会自动地在WEB-INF目录下添加validator-rules.xml

2,某个ActionForm想要使用validator进行验证,在建立的时候必须继承自DynaActionForm类

3,在struts-config.xml中添加对validator的引入:

property="pathnames"

value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>

4,在上面的配置代码中指定了两个.xml文件,一个是validator-rules.xml,另一个是validation.xml。

validator-rules.xml已存在,那么我们需要在WEB-INF目录下建立一个高级的xml文件叫做validation.xml,编辑validation.xml,添加验证信息:

xmlversion="1.0"encoding="UTF-8"?

>

6,在jsp页面中包含

javascript>,即用javascript指定具体form使用以上验证信息

⏹在

formaction=“/login”>代码前加入:

javascriptformName="loginForm"/>

7,在jsp页面中对需要验证的表单定义onsubmit事件,其中事件名称为validate+ActionForm的名称,如:

validateLoginForm

⏹将

formaction=“/login”>改成如下:

formaction="/login"onsubmit="returnvalidateLoginForm(this)">

7.Struts框架、Hibernate框架、Spring框架的配置文件分别是什么?

struts-config.xmlhibernate.cfg.xmlapplicationContext.xml

8.Hibernate中对象有三种状态,是哪三种?

三者之间是如何转化的?

Hibernate中对象有三种状态,临时对象(TransientObjects)、持久化对象(PersistentObjects)和脱管对象(DetachedObjects)。

9.解释说明Hibernate框架是什么,有何作用?

Hibernate是一个基于Java的对象/关系数据库映射工具,它将对象模型表示的数据映射到SQL表示的关系模型上去。

Hibernate管理Java到数据库的映射,还提供了数据查询和存取的方法。

大幅度减少了开发者的数据持久化相关的编程任务。

会话工厂(SessionFactory),会话(Session),持久化对象(PersistentObject),

临时对象(TransientObject),事务(Transaction),连接提供者(ConnectionProvider)

事务工厂(TransactionFactory)

Hibernate的作用:

在关系数据库和对象之间做一个自动映射,这样在操作具体的数据库时,就不需要再与复杂的SQL语句打交道,只用操纵对象即可.Hibernate会自动将对象操作转化为SQL语句,这样就只需要关注业务逻辑中的对象结构,而不用关心底层复杂的SQL和JDBC代码

10.解释说明Spring框架是什么,有何作用?

重要特性有哪些

1.核心容器和支持工具:

核心容器提供了Spring框架的基本功能,核心容器的主要组成部分就是BeanFactory类,这个类提供了Spring的核心功能。

它采用工厂模式实现反转控制,从而把应用程序的配置和依赖性与实际的应用程序代码分离。

2.ApplicationContext模块

ApplicationContext模块扩展了Beanfactory,提供了对国际化、系统生命周期事件的支持,在这个模块中提供了对Java企业级服务的支持,例如访问JNDI、集成EJB及电子邮件服务等

3.AOP模块

在Spring的AOP模块中,直接集成了面向切面编程的功能,这个模块是Spring应用系统开发切面的基础。

SpringAOP可以为基于Spring的应用系统提供事务管理等服务,通过使用AOP,不用依赖EJB,也可以在应用系统中使用声明式的事务管理策略。

4.JDBC和DAO(DataAccessObject)模块

JDBC和DAO模块提供了数据库操作中的模板代码,例如取得数据库连接、处理结果集、关闭数据库连接等,Spring通过提供这些模板代码,简化了数据库操作的代码,同时释放数据库资源,所以可以避免数据库资源释放失败引起的性能问题

另外,在Spring的JDBC和DAO模块中,提供了数据库异常层,用来管理异常处理和不同数据库供应商抛出的错误信息,这就简化了数据库操作的错误处理,并且极大地减少了异常处理的工作量。

5.ORM映射模块

在Spring中并不提供对ORM映射的实现,而是提供了对其他ORM工具的支持,可以在Spring中集成现有的ORM映射工具,在Spring中支持的ORM工具包括JDO、Hibernate和ibatis等,Spring的事务管理都提供对这些ORM工具的支持

6.Web模块

Web模块建立在ApplicationContext模块的基础上,为基于web的应用程序提供了上下文。

这个模块提供常见的Web任务的处理功能,简化了处理多部分请求及将请求参数绑定到域对象的工作,而且在Spring的Web模块中,提供了对Struts的支持

7.MVC模块

Spring的MVC模块是一个完整的MVC实现,虽然Spring可以很好地和其他MVC框架集成,但是Spring通过使用反转控制可以把业务逻辑和控制逻辑分离开而且在Spring中可以声明如何将请求参数绑定到业务对象中。

同时在Spring的MVC中,支持各种视图技术,例如JSP、Velocity、和Titles等

特性:

SPRING是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,面向接口的编程,由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控。

这也就是所谓“控制反转”的概念所在:

(依赖)控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。

依赖注入,即组件之间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某种依赖关系注入到组件之中起到的主要作用是解耦

11.想要实现将loginForm表单中用户输入的姓名在JSP页面中展示出来,该如何用代码实现读取数据、存储数据、和展示数据?

1,将Action获取的数据设到request对象里

Stringusername=(String)loginForm.get("username");

request.setAttribute("username",username);

2. 在其他页面调用时候,比如显示登录成功页面,想要显示用户名,则可以调用如下函数:

<%=request.getAttribute("username")%>

12.web项目默认的欢迎文件是哪个?

如何更改这个欢迎文件

index.jsp在web.xml里修改

index.jsp

13.什么是数据库连接池技术,请从数据库连接池所要解决的问题和工作原理两方面来简述。

JDBC数据库连接有何缺点?

数据库开发中面临的数据库资源问题

1.普通的JDBC连接带来的效率问题

在使用普通的JDBC连接数据库时,一般情况下需要三个步骤:

建立数据库链接,操作数据库和释放数据库资源,在这三个步骤中,建立和释放数据库连接所花费的时间要远远大于数据库操作的时间,也就是说,在我们的数据库操作中,大部分时间都花在建立、释放数据库连接上面,真正用来执行操作的时间并不多,在没有使用连接池的时候,每一次的数据库操作都需要建立一个新的数据库连接,在需要大量数据库操作的应用系统中,需要反复建立释放数据库连接,这样的操作方法会大大降低系统的效率

2.数据库资源使用不当带来的性能问题

在上面的问题中,仅仅是浪费时间,从而降低了系统的效率,但是,当数据库资源使用不当的时候,就会带来更加严重的性能问题,甚至会造成整个系统的崩溃。

在大量的数据库资源得不到释放的情况下,新的数据库连接申请就有可能不成功,从而使系统的功能无法实现。

当数据库连接数达到上限的时候,就会造成应用系统的崩溃

解决上面两种问题就需要使用数据库连接池技术,通过连接池来维护数据库之间的连接,从而提高数据库操作的效率

数据库连接池的工作原理

1)数据库连接池就是在系统初始化的时候,建立起一定数量的数据库连接,然后通过一套数据库连接的使用、分配和管理策略,使数据库连接池可以得到高效、安全的复用,避免频繁建立、关闭数据库连接所带来的系统开销。

2)另外,使用数据库连接池可以把系统的逻辑实现和数据库分离,在传统的实现过程中,在应用程序中直接访问数据库;使用连接池后,所有的数据库连接都可以从连接池中取出,由连接池访问数据库,维持连接池中可用的连接数量

3)数据库连接池是在系统初始化时创建的,在建立连接池的时候已经申请了一定数量的数据库连接。

当应用程序从连接池中取出一个连接时,连接池就会从数据库中取出一个新的连接,用来维持连接池中可用的连接数。

4)当应用程序释放连接时,连接池会检查可用连接的数量,如果可用连接的数量超过了设置的数量,就把多余的连接释放。

5)连接池通过连接的释放和申请策略,保证了连接池中总有一定数量可用的连接,从而使应用程序随时可以使用准备好的数据库连接,而且在释放资源的时候,只需要把数据库连接释放给连接池,从而避免了直接建立,关闭数据库连接,经过这样的处理,可以避免大量数据库访问时带来的性能问题

14.如何将ApplicationResources.properities文件以“资源文件编辑器”方式打开?

使用ResourceBundleEditor插件

a,下载软件Eclipse插件Res

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1