NetBeans6.1下搭建Struts2.0+Spring2.5+Hibernate3开发环境
来源:互联网 发布:金冠网络创业平台 编辑:程序博客网 时间:2024/04/28 19:12
Struts和Spring的新版本变动很大,搭建开发环境时配置文件的内容也随着改变了,前段时间为了搭建开发环境费了不小劲,现在发布出来希望能给新手一点帮助。网上关于ssh开发环境的说明都是基于Struts1.2和Spring2的,而且都是以Eclipse为IDE,当然IDE对开发环境的搭建没有明显的影响,但是在NetBeans下搭建ssh开发环境还是快捷得多的。
NetBeans6.1自带了Spring2.5,Struts1.2,没有Hibernate支持,所以为了搭建Struts2.0+Spring2.5+Hibernate3的开发环境,必需下载Struts2.0和Hibernate3的NetBeans插件,这都是很容易找到的,确实找不到就留下邮箱吧。在NetBeans里安装插件的方法: 工具-插件- 已下载-添加插件-安装。
好了,插件安装完毕,重启NetBeans后新建Web项目,修改项目名之后一路默认走下去,在框架选择那一步把Struts2.0、Spring2.5和Hibernate勾上,完成,这样就创建了一个具有ssh支持的Web项目。但是,要整合使用ssh还得进入最麻烦的一步:修改配置文件。下面就以一例子来说明修改配置文件的过程。
新建了上面的项目后,NetBeans自动为你生成了一个HelloWorld的Struts例子,就在这个例子上面改吧。
在源包-缺省包里有一个Struts配置文件example.xml,内容如下
2 <package name="example" namespace="/example" extends="struts-default">
3 <action name="HelloWorld" class="example.HelloWorld">
4 <result>/example/HelloWorld.jsp</result>
5 </action>
6 </package>
7</struts>
接下来是最关键的配置--Spring配置文件applicationContext.xml,以下内容都在<Beans>配置节里添加:
1。首先添加数据源Bean
2 <!-- 指定连接数据库的驱动 -->
3 <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
4 <!-- 指定连接数据库的URL -->
5 <property name="url" value="jdbc:mysql://localhost:3306/sunsite"/>
6 <!-- 指定连接数据库的用户名 -->
7 <property name="username" value="root"/>
8 <!-- 指定连接数据库的密码 -->
9 <property name="password" value="123"/>
10 </bean>
2。让Spring管理Hibernate
2 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
3 <property name="dataSource" ref="dataSource">
4 </property>
5 <property name="mappingResources">
6 </property>
7 <property name="hibernateProperties">
8 <value>
9 hibernate.dialect=org.hibernate.dialect.MySQLDialect
10 </value>
11 </property>
12 </bean>
在源包新建类User,里面只有一个字段user
2 private String name;
3 public String getName() {
4 return name;
5 }
6 public void setName(String name) {
7 this.name = name;
8 }
9}
然后修改Action类HelloWorld.java,它继承于com.opensymphony.xwork2.ActionSupport,继承这个类的好处是你只需要覆盖一个简单的execute()并通过返回字符串来标识跳转到的页面。
在HelloWorld.java添加私有字段user和对应的set方法(可在添加字段后用Netbeans的 重构-封装字段 生成set方法)
添加message字段和get方法(为什么这里是get?因为message是为了后面让jsp读取的,而user是为了让Spring写入的)
2
3 private User user;
4 public void setUser(User user) {
5 this.user = user;
6 }
7 private String message;
8 public String getMessage() {
9 return message;
10 }
11
12 @Override
13 public String execute() throws Exception {
14 this.message = user.getName();
15 return SUCCESS;
16 }
17}
2 <property name="name" value="Ruby"></property>
3 </bean>
4 <bean id="helloAction" class="example.HelloWorld">
5 <property name="user" ref="user"/>
6 </bean>
这样,实体和Action就在Spring的管理之下了,于是可以在example.xml这样配置Action(修改自动生成的配置文件如下)
2 <package name="example" namespace="/example" extends="struts-default">
3 <action name="HelloWorld" class="helloAction">
4 <result>/example/HelloWorld.jsp</result>
5 </action>
6 </package>
7</struts>
修改HelloWorld.jsp的内容如下
2<%@ taglib prefix="s" uri="/struts-tags" %>
3<html>
4 <head>
5 <title></title>
6 </head>
7 <body>
8 <h2><s:property value="message"/></h2>
9 <ul>
10 <li>
11 <s:url id="url" action="HelloWorld">
12 </s:url>
13 <s:a href="%{url}">获得User的名字</s:a>
14 </li>
15 </ul>
16 </body>
17</html>
首先在源包增加一个Hibernate映射文件user.hbm.xml(可用Netbeans的向导辅助)
2<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
3<hibernate-mapping>
4 <class dynamic-insert="false" dynamic-update="false" mutable="true" name="User" optimistic-lock="version" polymorphism="implicit" select-before-update="false" table="user">
5 <property column="userName" name="name" type="string"/>
6 </class>
7</hibernate-mapping>
在Spring配置文件找到刚才的管理Hibernate的配置节,如下方法把Hibernate映射文件添加进去
2 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
3 <property name="dataSource" ref="dataSource">
4 </property>
5 <property name="mappingResources">
6 <list>
7 <value>user.hbm.xml</value>
8 </list>
9 </property>
10 <property name="hibernateProperties">
11 <value>
12 hibernate.dialect=org.hibernate.dialect.MySQLDialect
13 </value>
14 </property>
15 </bean>
然后在源包添加类UserDao.java
2
3public class UserDao extends HibernateDaoSupport {
4 public void save(User user) throws Exception
5 {
6 try
7 {
8 getHibernateTemplate().save(user);
9 }
10 catch(Exception err)
11 {
12 throw err;
13 }
14 }
15
16 public User getUser(String userName) {
17 return (User)getHibernateTemplate().find("from User as u where u.name = ?", userName).get(0);
18 }
19}
代码很容易明白,不多说了,然后在applicationContext.xml增加如下配置节
2 <property name="sessionFactory">
3 <ref bean="sessionFactory"></ref>
4 </property>
5 </bean>
然后就要修改HelloWorld.java,给它添加一个UserDao私有字段和set方法,删掉原来的user字段。
2
3 private UserDao userDao;
4 public void setUserDao(UserDao userDao) {
5 this.userDao = userDao;
6 }
7
8 @Override
9 public String execute() throws Exception {
10 User user = userDao.getUser("ruby");
11 this.message = user.getName();
12 return SUCCESS;
13 }
14}
- NetBeans6.1下搭建Struts2.0+Spring2.5+Hibernate3开发环境
- netbeans6.1环境下struts2+spring2.5+hibernate3.2集成
- Struts2+Spring2+Hibernate3开发环境搭建 项目实例
- 开发环境:MyEclipse6.5+Tomcat6.0+MySql5.5配置环境:Struts2+Spring2+Hibernate3.1
- eclipse环境搭建ssh(Struts2+Spring2.5+Hibernate3)框架小谈(下)
- Struts2+Spring2.5+Hibernate3搭建过程
- MyEclipse6.5下struts2+spring2+hibernate3 整合
- MyEclipse6.5下struts2+spring2+hibernate3 整合
- Struts2+Spring2.5+Hibernate3.3整合开发
- Struts2+Spring2.5+Hibernate3.3整合开发
- Struts2+Spring2.5+Hibernate3.3整合开发
- eclipse环境搭建ssh(Struts2+Spring2.5+Hibernate3)框架小谈(上)
- 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发 (1)
- 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发 (1)
- 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发 (1)
- 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发 (1)
- Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发(1)
- 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发 (1)
- Ubuntu虚拟机系统下安装配置vsftpd
- 磨磨蹭蹭的,终于还是来了
- 单一IP地址对多域名-Ubuntu下的一IP多域名解决方案
- 人生若只如初见--多好!!!
- JNI编程(二) —— 让C++和Java相互调用(1)
- NetBeans6.1下搭建Struts2.0+Spring2.5+Hibernate3开发环境
- C# 判断字符串能否转化为日期
- C++中虚函数的原理与实现
- 这是一个结合了Struts、Spring、Hibernate的登录完整
- turbo码
- 为何国内不允许手机有WIFI功能
- Spring与DWR整合
- Android基本界面控件四-图片控件
- ANT配置文件