1、 Java语言的三大平台?
答:
依据不同的应用领域,Java语言开发有三大平台:
Java ME:主要用来开发掌上电脑等嵌入式系统应用程序。
Java SE:主要用来开发一般台式机应用程序。
Java EE:主要用来开发企业级软件系统。
2、 简述Java EE 开发环境的安装配置过程。
答:
1、 安装JDK,配置系统变量path和classpath
2、 安装tomcat
3、 安装MyEclipse
4、 在MyEclipse中进行JDK和tomcat的配置:启动MyEclipse
选择【Window】→【Preferences】→【Java】→【Installed JREs】菜单项,点击右边的“Add…”按钮,在弹出的对话框中通过“JRE home directory”后的“Browse”按钮选择JDK为前面安装的JDK的路径,并进行命名为jdk。
选择【Window】→【Preferences】→【MyEclipse】→【Servers】→【Tomcat】菜单项,选择“Tomcat 6.x”,在右边的“Tomcat server”栏中选择“Enable”,单击“Tomcat home directory”后面的【Browser】按钮,选择Tomcat的安装路径,下面的两行就会自动生成出来,不用修改。
单击【OK】按钮,再查看菜单栏的服务器配置,如果有“Tomcat 6.x”就说明配置成功了。
3、 简介MVC。
答:
MVC是一个web应用的程序设计模式,它使应用程序的输入,处理和输出分开。使用MVC应用程序被分为三个核心部件:M----------Model模型,V ----------VIEW 视图,C --------- Control控制。
MVC中的模型、视图、控制器它们分别担负着不同的任务。
视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。
模型: 模型表示业务数据和业务处理。一个模型能为多个视图提供数据。这提高了应用程序的重用性。
控制器:当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求。然后根据处理的结果调用相应的视图来显示处理的结果。
MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果,并通过视图呈现给用户。
4、 程序开发中的框架有什么作用?有什么特点?
答:
框架对于程序设计的规范化和程序的扩展和维护非常有帮助。
特点:
上手快。
好的技术支持。
整合其他技术能力强。
扩张能力强。
设计结构合理。
运行稳定。
5、 用于开发Java Web应用的框架都有哪些,分别有什么特点?
答:
struts2:可以实现MVC模式,主要实现控制层,其三大块包括:Struts核心类Action类,由继承ActionSupport实现,Struts配置文件struts.xml,Struts标签库struts-tags
Hibernate:是一个面向Java环境的对象/关系映射工具,可以将对象模型表示的对象映射到基于SQL的关系数据模型中。
Spring:从实际开发中抽取出来的框架,完成大量开发中的通用步骤,可以贯穿程序的各层之间,与其他框架可以紧密整合,其中重要功能有依赖注入,基于AOP的声明式事物管理等。
1、 Html的表单标签及应用。
表单标签是form,其中有两个重要属性,一个是action,值表示该表单发送到哪里去,另一个是method,值可以取get和post,表示表单的发送方式。
2、 JSP语法:
定义变量与函数 <%! %>
程序块 <% %>
表达式 <%= %>
3、 Servlet什么情况下调用doGet()和doPost()?
答:
JSP页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。
4、 Servlet的生命周期
答:
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。接着通过调用service()方法,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。
5、 页面间传递参数的方法
答:
使用request,session,application等对象
6、 JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
答:
JSP技术构建在Servlet技术之上,是Servlet技术的扩展,本质上是Servlet的简易方式,JSP能做到的,Servlet都能做到,但是它们却各有所长。JSP更强调应用的外表表达。JSP编译后是"类servlet"。Servlet比较适合作为控制类组件,比如视图控制器等。另外,Servlet还可以作为过滤器、监听器等。Servlet不仅可以动态生成HTML内容,还可以动态生成图形。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML等技术组合成的一个扩展名为.jsp的文件。总而言之,Servlet在项目中作为控制类的组件,并且处理一些后台业务,JSP则作为显示组件。JSP侧重于视图,Servlet主要用于控制逻辑。
7、 Servlet执行时一般实现哪几个方法?
public void init(ServletConfig config)
在Servlet实例化之后,Servlet容器会调用init()方法,来初始化该对象。该方法主要是为了让Servlet对象在处理客户请求前可以完成一些初始化的工作,例如,建立数据库的连接,获取配置信息等。
public ServletConfig getServletConfig()
返回容器调用init()方法传递给Servlet对象的ServletConfig对象,ServletConfig对象包含了Servlet的初始化参数。
public String getServletInfo()
返回一个String类型的字符串,其中包括关于Servlet的信息,例如,作者、版本和版权。
public void service(ServletRequestrequest,ServletResponse response)
容器调用service()方法来处理客户端的请求。
public void destroy()
容器调用destroy()方法来释放Servlet对象所使用的资源。
8、 JSP的常用指令及功能
答:
<%@ page language="scriptingLanguage"%>设定整个JSP文件的属性和相关功能。
<%@includefile="filename"%>用来导入静态页面文件
<%@taglibprefix="s" uri="……" %>用来说明要使用的标签库
9、 过滤器、监听器、servlet 三者的区别
答:
过滤器(Filter)
Servlet可以作为过滤器使用,在web.xml中通过filter标签定义它,它可以对客户的请求进行过滤处理,当它处理完成后,它会交给下一个过滤器处理,就这样,客户的请求在过滤链里一个个处理,直到请求发送到目标。举个例子,某个网站里有提交"修改的注册信息"的网页,当用户填写完成修改信息并提交后,服务端在进行真正的处理时需要做两个处理:客户端的会话是否有效;对提交的数据进行统一的编码,比如GB2312。这两个处理可以在由两个过滤器组成的过滤链里进行处理。当过滤器处理成功后,把提交的数据发送到最终目标;如果过滤器处理不成功(比如客户端的会话无效),它将把视图派发到指定的错误页面。可以看出,过滤器就像一扇门,客户端要和服务端的某个目标交互,必须通过这扇门。过滤器是用于过滤浏览器和后台的Servlet发出的请求,过滤器是存在于请求和被请求资源之间的。过滤器就像当于一个中间件,请求要经过过滤器,然后过滤器才去调用Servlet,Servlet的响应也会被过滤器截获并作相应的处理。
Filter的配置
Filter的配置和Servlet相似。
<filter>
<filter-name>SessionFilter</filter-name>
<filter-class>alan.filter.SessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>/protected/*</url-pattern>
<!--这里的url-pattern就是要过滤的请求的url-pattern-->
</filter-mapping>
监听器(Listener)
Listener也可以用Servlet实现,在web.xml中通过Listener标签定义它,它可以监听客户端的请求、服务端的操作等。通过不同的监听器,可以根据不用的程序操作自动激发一些行为,比如监听在线的用户的数量,当增加一个HttpSession时,就激发HttpSessionListener监听器的sessionCreated(HttpSessionEvent se)方法,这样就可以给在线人数加1。
Listener在web.xml中的配置
<listener>
<listener-class>alan.servlet.listener.AlanContextListener</listener-class>
<!--listener-class也就是实现Listener接口的类-->
</listener>
1、 用自己的话简要阐述struts2框架和它的基本执行流程。
Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的业务逻辑组件。核心控制器FilterDispatcher是Struts 2框架的基础和入口,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。
Struts 2的基本简要流程如下:
1) 客户端浏览器发出HTTP请求。
2) 根据web.xml配置,该请求被过滤器FilterDispatcher接收并处理。
3) 过滤器处理完成后继续将请求交给拦截器处理,拦截器将完成一些通用功能操作,例如表单验证等。
4) 拦截器处理完后,根据struts.xml配置,找到需要调用的Action类和方法,把请求交给Action处理,默认情况下执行Action的excute方法,该方法可以访问业务逻辑层完成对数据库的访问。
5) 最后由excute方法返回的结果字符串,根据struts.xml配置决定返回什么样的页面或结果到浏览器。
2、 如何定义一个Action类,类中的基本成员有哪些
Action类通过集成ActionSupport类来实现,类中如果定义数据成员,则要有相应的get和set方法,此外该类一定要重载excute方法,该方法在请求发送给action类时将默认自动调用。
3、 Struts2的核心类是什么?核心配置文件是什么?
Struts2的核心类是Action,核心配置文件是struts.xml
4、 如何开发一个简单的Struts2应用程序?
1) 新建web项目
2) 为项目导入struts2的核心类库
3) 在web.xml文件中配置过滤器FilterDispatcher
4) 编写JSP页面
5) 编写Action类,重载类中的excute方法
6) 新建struts.xml文件,配置action及其result信息。
7) 把项目发布到服务器,启动tomcat,运行调试
5、 如何使用struts2.0的标签库,常用标签有哪些?
在JSP页面的起始行,通过taglib标签定义struts2标签库
<%@ taglib uri=”/sturts-tags” prefix=”s” %>
这样就可以使用struts2标签了,以<s: 开头的都是struts2标签。
常用的标签有:
1) 表单标题<s:form> </s:form>
2) 显示标签<s:property /> 用于输出指定值:<s:propertyvalue="userName "/>
3) 判断<s:if> </s:if> 用于在页面中判断指定数据 <s:if test="user” Name == “admin">…. </s:if> <s:else>…. </s:else>
4) 迭代<s:iterator>用于将List、Map、ArrayList等集合进行循环遍历
<s:iterator value="userList" id="user">
<s:property value="user.Name"/></a>
</s:iterator>
5) URL地址标签,<s:url>用于生成一个URL地址,可以通过URL标签指定的<s:param>子元素向URL地址发送请求参数
<s:url action=" ">
<s:param name=" "value=""></s:param>
</s:url>
6) 超链接 <a href >一般和<s:url>标签一起使用,用于带多个参数。
<a href="
<s:url action=" ">
<s:param name=" " value=""></s:param>
<s:param name=" " value=""></s:param>
<s:param name=" "value=""></s:param>
</s:url>
">超链接</a>
7) set标签,用于将某个值放入指定的范围内。例如application,session等。
<s:set name="user" value="userName"scope=”request”/>
1、 Hibernate实现什么功能?什么是ORM?
对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作。
ORM是对象关系映射,即把程序中的对象映射到关系数据库中。
2、 Hibernate的工作流程
1) 读取并解析配置文件
2) 读取并解析映射信息,创建SessionFactory
3) 打开Sesssion
4) 创建事务Transation
5) 持久化操作
6) 提交事务
7) 关闭Session
8) 关闭SesstionFactory
3、 Hibernate的核心类和使用方法
答:
是SessionFactory。
由SessionFactory打开Session对象,由Session来完成对数据库的持久化操作。
4、 如何开发一个使用Hibernate框架的Java应用程序
1) 建立数据库和数据表
2) 在Myeclipse的database explorer中创建SQL Server数据库连接
3) 创建Java项目
右击项目文件夹,在Myeclipse右键菜单中选择“添加Hibernate开发能力”,先选择所需要的类库,然后单击next,创建Hibernate配置文件Hibernate.cfg.xml放在src文件夹下,接着选择数据库连接,接着创建SessionFactory类,放在一个用户自定义的包中。此步骤添加了Hibernate类库,创建了一个配置文件和一个java类。
4) 打开步骤2)中配置好的数据库连接,找到要操作的数据表,右键选择“Hibernate Reverse Engineering”(Hibernate逆向工程),按照向导生成和数据表对应的Java类POJO以及对应的映射文件,Java类默认放在model包中,映射文件和Java类在同一个包中,映射文件的路径信息被加入到Hibernate.cfg.xml配置文件。
5) 创建Java主类,使用Hibernate功能去访问数据库。
5、 Hibernate和Struts2的整合流程
1) 建立数据库和数据表
2) 在Myeclipse的database explorer中创建SQL Server数据库连接
3) 创建Java web项目
4) 右击项目文件夹,在Myeclipse右键菜单中选择“添加Hibernate开发能力”,先选择所需要的类库,然后单击next,创建Hibernate配置文件Hibernate.cfg.xml放在src文件夹下,接着选择数据库连接,接着创建SessionFactory类,放在一个用户自定义的包中。此步骤添加了Hibernate类库,创建了一个配置文件和一个java类。
5) 打开步骤2)中配置好的数据库连接,找到要操作的数据表,右键选择“Hibernate Reverse Engineering”(Hibernate逆向工程),按照向导生成和数据表对应的Java类POJO以及对应的映射文件,Java类默认放在model包中,映射文件和Java类在同一个包中,映射文件的路径信息被加入到Hibernate.cfg.xml配置文件。
6) 创建Dao类,使用Hibernate功能去访问数据库。
7) 为项目导入struts2的核心类库
8) 在web.xml文件中配置过滤器FilterDispatcher
9) 编写JSP页面
10) 编写Action类,重载类中的excute方法,在Action的方法中调用Dao类的方法访问数据库。
11) 新建struts.xml文件,配置action及其result信息。
12) 把项目发布到服务器,启动tomcat,运行调试
6、 Hibernate与JDBC的联系
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
Hibernate是JDBC的轻量级封装,包括JDBC的与数据库的连接和查询,删除等代码,都用面向对象的思想用代码联系起来,Hibernate通过hbm 配置文件把POJO类的字段和数据库的字段关联起来,比如数据库的id,在POJO类中就是private Long id; public Long getId() ;public setId(Long id); HQL语句也是面向对象的,它的查询语句不是查询数据库而是查询类,其实Hibernate等于封装的JDBC+xml文件
7、 为什么要用Hibernate?
1) 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
2) Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作。
3) Hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
4) Hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。
8、 Hibernate主键介绍
Assigned
Assigned方式由程序生成主键值,并且要在save()之前指定否则会抛出异常
特点:主键的生成值完全由用户决定,与底层数据库无关。用户需要维护主键值,在调用session.save()之前要指定主键值。
Identity
Identity当时根据底层数据库,来支持自动增长,不同的数据库用不同的主键增长方式。
特点:与底层数据库有关,要求数据库支持Identity,如MySQl中是auto_increment,SQL Server 中是Identity,支持的数据库有MySql、SQL Server、DB2、Sybase和HypersonicSQL。 Identity无需Hibernate和用户的干涉,使用较为方便,但不便于在不同的数据库之间移植程序。
Native
Native主键生成方式会根据不同的底层数据库自动选择Identity、Sequence、Hilo主键生成方式
特点:根据不同的底层数据库采用不同的主键生成方式。由于Hibernate会根据底层数据库采用不同的映射方式,因此便于程序移植,项目中如果用到多个数据库时,可以使用这种方式。
9、 Hibernate拒绝连接、服务器崩溃的原因?
1) 数据库没有打开
2) 网络连接可能出了问题
3) 连接配置错了
4) 驱动的driver,url有误
5) Lib下加入相应驱动,数据连接代码有误
6) 数据库配置可能有问题
7) 当前联接太多了,服务器都有访问人数限制的
8) 服务器的相应端口没有开,即它不提供相应的服务
10、 Hibernate介绍
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的重要接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个重要接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个重要接口分别加以介绍。
Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。
SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。
Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
1、 描述Spring框架的核心功能模块
Spring框架的核心功能模块是核心容器,其他模块均运行在该模块之上。该模块主要通过控制反转模式(IoC),又称为依赖注入,来实现程序中类实例的装配和管理。
2、 Spring实现控制反转的核心接口是ApplicationContext,该接口的getBean方法可以用于获取Spring容器中的类实例。
3、 Spring和Struts2的整理流程
1) 创建Struts2项目,添加9个基础包,修改web.xml添加过滤器,添加jsp,创建action类,创建struts.xml,配置action。(该步骤开发一个Struts2项目)
2) 通过项目右键的Myeclipse菜单添加Spring开发能力,创建applicationContext.xml配置文件文件。
3) 为项目添加Struts2的Spring支持包struts2-spring-plugin-x.jar,其中x对应spring的版本号。
4) 修改web.xml,添加监听器ContextLoaderListener(用于创建管理bean的web容器),并配置context-param以便Spring的web容器获取配置文件applicationContext.xml。
5) 创建struts.properties文件,定义struts.objectFactory=spring,把Struts2框架的类实例管理交给Spring。
6) 修改applicationContext.xml文件内容,定义action bean
7) 修改struts.xml文件,用bean的id取代原来action标签中的class属性值。
8) 调试运行项目。
4、 Spring和Hibernate的整合流程
1) 创建数据库和数据表,在myeclipse中创建数据库连接
2) 创建web项目
3) 添加Spring开发能力,生成applicationContext.xml文件
4) 添加Hibernate开发能力,使用applicationContext.xml作为配置文件,并在向导中创建sessionFactory的bean id和datasource的bean id,把datasource和sessionfactory的配置信息加入配置文件。
5) 通过数据库连接的Hibernate逆向工程生成映射文件和对应的java类(POJO)
6) 创建DAO类
7) 修改applicationContext.xml,管理DAO类实例。
8) 测试DAO。
5、 Hibernate与Spring的联系
Hibernate中的一些对象可以给Spring来管理,让Spring容器来创建Hibernate中一些对象实例化。例如:DataSource, SessionFactory等。Hibernate本来是对数据库的一些操作,放在DAO层,业务层可以访问DAO层,Spring负责管理所有的类实例,也通过定义事务实例,管理所有业务层的数据库事务。
6、 你一般用Spring做什么?
控制反转IOC(依赖注入),AOP
7、 Spring是什么?根据你的理解详细谈谈你的见解。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能、
◆范围:任何Java应用
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC是容器在对象初始化时不等对象请求就主动将依赖传递给它。
◆面向切面(AOP)——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
8、 用自己的理解简述Spring的依赖注入功能在项目中的作用。
答:
Spring的依赖注入在项目中起类实例的管理容器的作用,项目中需要用到了业务型的类实例都可以交给Spring容器去管理,类对象的装配也可以交给它完成。
例如一个项目中业务流程是这样的:
Action通过Service类、Service通过Dao类、Dao通过Hibernate的SessionFactory类访问数据库。那么Action类、Service类、Dao类实例都可以由Spring容器来创建和管理,并且Dao中的SessionFactory数据成员,Service中的Dao数据成员和Action中的Service数据成员都可以通过Spring来注入实例。
那么在项目开发中,程序员就可以不用关注业务类的实例化问题,简化了开发流程。
1、 SSH整合的方法和工作流程
1) 创建空项目
2) 添加Struts2类包(10个),配置Web.xml中Struts2过滤器
3) 在Myeclipse中配置数据连接,连接XSCJ2数据库,名为ssh
4) 添加Spring开发能力,创建applicationContext.xml配置文件
5) 添加Hibernate开发能力,使用applicationContext.xml作为配置文件,在ssh中通过Hibernate逆向工程创建POJO,生成配置文件,放在model包中
6) 创建dao包中的类,实现对两个表的插入,查询,修改功能。
7) 创建view层的页面:login.jsp, error.jsp,success.jsp
8) 创建action包中对应的action类。
9) 通过配置web.xml,struts.xml,struts.properties文件,整合struts2和Spring
10) 创建service包中的类,供action类访问。
11) 调试程序。
2、 以一个具体例子说明SSH项目的开发过程,应用要求实现用户登录的功能。
1、 需求分析
功能描述:在页面中输入登录的用户名和密码,通过查询数据库判断该用户是否存在并且密码是否正确。
2、 数据库设计
用户登录表:
字段名 |
类型 |
备注 |
username |
varchar(20) |
主键 |
password |
varchar(20) |
|
3、 项目开发过程
1) 创建空项目
2) 添加Struts2类包(10个),配置Web.xml中Struts2过滤器
3) 在Myeclipse中配置数据连接,连接XSCJ2数据库,名为ssh
4) 添加Spring开发能力,创建applicationContext.xml配置文件
5) 添加Hibernate开发能力,使用applicationContext.xml作为配置文件,在ssh中通过Hibernate逆向工程创建POJO,生成配置文件,放在model包中
6) 创建dao包中的类,实现对两个表的插入,查询,修改功能。
7) 创建view层的页面:login.jsp, error.jsp,success.jsp
8) 创建action包中对应的action类。
9) 通过配置web.xml,struts.xml,struts.properties文件,整合struts2和Spring
10) 创建service包中的类,供action类访问。
11) 调试程序。
1、 填空
2、 判断
3、 简答
4、 程序设计(列明设计和操作过程即可,不用编码)