8. 为工程添加 Spring 支持 在工程名上点鼠标右键并选择
“MyEclipse”—>“Add Spring Capabilities...”
为简单起见,因为系统内置的 Spring 支持是 2.5 版本的,我们选中所有 2.5 版的 Spring 包,并选择“拷贝支持包到 lib
目录”;另特别注意:
(1)将 Spring 的配置文件 applicationContext.xml 放到 WEB-INF/目录下(而不是缺省的 src目录);
(2)重要:web.xml 中增加一个 listener:ContextLoaderListener; 上述第(2)项使得我们可以方便的获取当前程序的运行上下文,从而得到 DAO 对象以操纵数据库。
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
9.添加 Hiberbate 支持
和上面的步骤类似,我们为工程添加 Hibernate 支持。同样选择将 Hibernate 的所有支持包拷贝到 lib 目录下;在“配置文件”选项中,选择使用已有的 Spring 配置文件(即上一步中的 WEB-INF/applicationContext.xml);数据库选用Sql Server2008,
在最后的选项窗口中,我们还要为 Hibernate 创建一个专用的包:点击“Java Package”右边的“New”按钮,在 src 目录下面输入你的包名com.neuq.common即可;这个包是你以后放置 Hibernate 有关文件的包。
10.建立数据源
window-->showview-->DB Brower,在空白处右键,新建,选择sqlserver驱动,填写自己的驱动名称,连接sqlserver2008的URLjdbc:sqlserver://localhost:1433;DatabaseName=student(其中student是数据库的名称),下面填写数据库用户名和密码,添加固定的连接jar包(需要自己网上下载)
下一步,选择第三项,选择自己的数据库,点击完成即可。
student数据库的student表设计如下:
11.打开数据源
右击刚才建立的数据源studentdriver,打开
12. 更为奇怪的错误(可能出现)
直到目前为止,我们还没有进行任何涉及底层数据库操作的编码工作,仅仅是为我们的工程添加了 Spring和 Hibernate 的支持而已。现在我们看看在新的支持下,原来的页面还能正常运行否——竟然是“404”(资源无法找到)错误!
您可以仔细研究 Console 控制台中显示的异常信息,但是,我可以告诉你一个简单得多的经验:这个错误本来不应该发生!出错的原因是你添加的各种支持里面所包含的 JAR 包有重复的,并且版本不一致!展开“Package Explorer”中的“Referenced Libraries”,可以看到工程中所引用的所有 JAR 包;现在知道为什么在前面的步骤中要将支持的 JAR 包拷贝到同一个 lib 目录下面了吧:起码我们检查重复 JAR 包的时候方便多了。 仔细检查后可以发现,“asm-2.2.3.jar”和“asm.jar”以及“cglib-nodep-2.1.3.jar”和“cglib-2.1.3.jar”是重复的;我们要 删除这两对中的后者,方法是:在要删除的包上面点击鼠标右键并选择“Build Path”—>“Remove From Build Path” 然后就可以删除了。 再运行一下试试,如果还不行,就要按照上面第“6”步所说的方法,彻底地清空一下已经发布的文件了。
13. 设计一个最简单的 Table记录显示系统目的:从“student”表中读出所有数据,并显示在页面中。流程:
(1) 在 index3.jsp 中建立一个表单,对应的动作是“showList”;
(2) “showList”对应的 Java 类命名为“StudentList”,它在 Struts 的调控下获取数据表中的记录;
(3) “showList”执行完毕后转向 studentlist.jsp,在该页面上显示动作类获取的数据。
14. 实现最简单的 Table 记录显示系统
根据上述设计,首先修改 struts.xml 文件,添加如下的动作配置:
- <action name="showList" class="com.neuq.list.StudentList">
- <result name="toList">/studentlist.jsp</result>
- <result name="toFail">/fail.jsp</result>
- </action>
然后依次编码所需要的各个文件:首先是起始页面 index3.jsp:
- <%@ page contentType="text/html; charset=UTF-8"%>
- <%@ taglib prefix="s" uri="/struts-tags"%>
- <html>
- <body>
- <s:form action="showList">
- <s:submit value="List students"></s:submit>
- </s:form>
- </body>
- </html>
这里面实际上只有一个 submit 按钮。