SSH的学习已经有一段时间了,今天心血来潮做了个简单的注册页面的整合,下面给大家讲讲我是怎么做的吧,有缺点还请大家多多指教啊。
1.新建一个Web Project:
2.为Project增加Struts功能:
这里面需要选择的包有5个,除了图中的包以外还有一个Spring3.0 web Libraries.点击next后,选择spring配置文件的放置地点,我选择把它放到了WEB-INF下。
3.为Project增加Spring功能:
4.为Project增加Hibernate功能:
这边我们只选择一个包,就是hibernate的核心包。 之后选择第二个单选按钮,然后我们不再创建新的Spring配置,而是使用已经存在的Spring配置文件,SessionFactory Id:就是sessionFactory不改了。之后选择数据库时,使用了我事先配置好的mysql数据库。再点击Next,会出现一个Create SessionFactory界面,我们不勾选,直接Finish。
5.切换到Myeclipse Database Exploer界面,使用Hibernate反向工程。
在第一幅图的table2上右击,选择Hibernate的反向工程,然后出现第二幅图的界面,勾选情况如图,下一步后出现第三幅图,我们给ID那个设置为Native,目的是表述向数据库中插入一条记录,数据表主键是从哪里来的,native表示由数据库提供。之后下一步默认就好,点击完成。然后我们把自动生成的com.suda.orm中的Table2.java修改为User.java,同时在Table2.hbm.xml中修改对应的地方。
6.新建一个package,com.suda.dao。在这个里面我们创建一个接口,UserDao,和一个接口的实现类
- package com.suda.dao;
-
- import com.suda.orm.User;
-
- public interface UserDao {
- public void save(User user);
- }
- package com.suda.dao;
-
- import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
-
- import com.suda.orm.User;
-
- import com.suda.dao.UserDao;
-
- public class UserDaoImpl extends HibernateDaoSupport implements UserDao{
-
- public void save(User user) {
- try {
- this.getHibernateTemplate().saveOrUpdate(user);
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
-
- }
我们的实现类我们要让他继承HibernateDaoSupport类。
7.创建Action,Form,JSP
我给她命名为registerForm,使用的是Dynamic FormBean。然后创建了两个属性,username,password,JSP页面就使用默认创建在form/register.jsp。下一步也默认。
8. 配置struts-config.xml文件,将Struts交给Spring管理
a) 加入插件 (message-resources标记下)
- <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
-
- <set-property property="contextConfigLocation"
-
- value="/WEB-INF/applicationContext.xml" />
-
- </plug-in>
b) 将Action类移交(message-resources标记上)
- <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>
9.编写我们的Aciont处理方法:
- public class RegisterAction extends Action {
- UserDao userDao;
- User user=new User();
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
- DynaActionForm registerForm = (DynaActionForm) form;
- String username=registerForm.getString("username");
- String password=registerForm.getString("password");
- ActionMessages errors=new ActionMessages();
- while(true){
- if (username.length()==0||password.length()==0) {
- errors.add("empty",new ActionMessage("content_empty"));
- break;
- }
- if (username.length()>8) {
- errors.add("username",new ActionMessage("username_wrong"));
- }
- if (password.length()<6) {
- errors.add("password",new ActionMessage("password_wrong"));
- }
- break;
- }
- this.saveErrors(request, errors);
- if (errors.isEmpty()) {
- user.setUsername(username);
- user.setPassword(password);
- userDao.save(user);
- return mapping.findForward("success");
- }else {
- return mapping.getInputForward();
- }
- }
- public UserDao getUserDao() {
- return userDao;
- }
- public void setUserDao(UserDao userDao) {
- this.userDao = userDao;
- }
-
- }
10.在Struts-config.xml中增加跳转:
- <global-forwards >
- <forward name="success" path="/form/success.jsp" />
- </global-forwards>
11.修改Spring配置文件:
注册我们的bean:
- <bean id="userDaoImpl" class="com.suda.dao.UserDaoImpl">
- <property name="sessionFactory" ref="sessionFactory"/>
- </bean>
-
- <bean name="/register" class="com.suda.struts.action.RegisterAction">
- <property name="userDao">
- <ref bean="userDaoImpl"/>
- </property>
- </bean>
这个代码的作用我就不多说了,我的那个Spring与Struts整合的日志中有说明。
12.修改web.xml,增加UTF-8过滤器,添加Listener:
- <filter>
- <filter-name>encodingFilter</filter-name>
- <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>utf-<span
分享到:
相关推荐
由于文件较大,故拆分为2部分,本实例为简单的登陆页面的实现,可直接导入工程,里面有jar包,
ssh整合实例
SSH整合实例 struts 2.3.20 GA、Hibernate3.6.10Final、Spring3.0.5
一个简单的ssh整合实例(数据库sqlseriver,工具netbeans)
SSH整合文档及SSH整合实例源码,整合了Spring和Strut和Hibernet。。
Struts+Spring+Hibernate--SSH整合实例.doc,Struts+Spring+Hibernate--SSH整合实例.doc,Struts+Spring+Hibernate--SSH整合实例.doc
简单易懂的ssh整合,适合初学者简单易懂的ssh整合,适合初学者简单易懂的ssh整合,适合初学者
SSH 整合的产品查询实例,绝对能用。 SSH整合实例 - searchProduct
SSH整合实例工程 实现了ssh框架下登陆功能,可以在此基础上进行后续开发 所用到的jar包全部烤入lib下,import进myeclipse,部署到tomcat中就可以运行。 spring 3.0+ hibernate3.6.7+ struts2.2.3 Myeclipse
Flex的SSH整合实例;
超简单的ssh整合实例!!!!!!!!!!!!! 密码:icejadelove
SSH整合实例(学生成绩管理系统).三大框架整合实例,很适合初学者看的!
ssh整合实例--实现简单注册功能(学习历程),利于初学者学习SSH,项目中SSH所用到的 jar 包绝对没有冲突,备注:除了spring是使用spring-2.5.6版本之外,Struts2和hibernate的jar包都是目前最新的组合..都是本人努力的...
SSH整合实例,完整jar包,导入eclipse就能够跑起来
SSH整合实例。增删改查全部都有,mysqlSSH整合实例。增删改查全部都有,mysqlSSH整合实例。增删改查全部都有,mysqlSSH整合实例。增删改查全部都有,mysql