一、生成的struts配置文件struts-config.xml文件中,要把spring的配置文件引入,说明spring配置文件在哪儿放着。
注意:value值可以换的
- <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
- <set-property property="contextConfigLocation"
- value="/WEB-INF/applicationContext.xml" />
- </plug-in>
二、将struts-config.xml中自动生成的action配置type属性改为
org.springframework.web.struts.DelegatingActionProxy
xml 代码
- <action
- attribute="loginForm"
- input="login.jsp"
- name="loginForm"
- path="/login"
- scope="request"
- type="org.springframework.web.struts.DelegatingActionProxy" >
三、在spring的配置文件applicationContext 中会自动添加hibernate自动生成的dao的bean配置。例如
xml 代码
- <bean id="UsersDAOImp" class="com.ssh.dao.impl.UsersDAOImp">
- <property name="sessionFactory">
- <ref bean="SpringSessionFactory" />
- </property>
- </bean>
但是不会自动生成action 的配置,所以需要增加action的配置
xml 代码
- <bean name="/login" class="com.ssh.action.LoginAction" singleton="false">
- <property name="dao">
- <ref bean="UsersDAOImp"/>
- </property>
- </bean>
相应的com.ssh.action.LoginAction的实现:
java 代码
- public class LoginAction extends Action {
-
-
-
-
-
-
-
-
-
-
-
-
-
- public UsersDAOImp dao;
-
- public UsersDAOImp getDao() {
- return dao;
- }
-
- public void setDao(UsersDAOImp dao) {
- this.dao = dao;
- }
-
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
- LoginForm loginForm = (LoginForm) form;
- Users user=new Users();
- user.setUsername(loginForm.getUsername());
- user.setPassword(loginForm.getUserpwd());
- UsersDAOImp dao=this.getDao();
- if(dao.findByExample(user).size()>0){
- return mapping.findForward("right");
- }
-
-
- return mapping.findForward("wrong");
-
- }
- }
-
在这里可以看到spirng的依赖注入中的设值注入:配置文件和set/get方法相配合
四、如果你用的是mysql数据库,则需要把映射文件例如Users.hbm.xml中的配置改一下。
xml 代码
- <class name="com.ssh.entity.Users" table="users" catalog="test">
改为
xml 代码
- <class name="com.ssh.entity.Users" table="users">
一定要把这个catalog目录删掉,要不它会把表名生成为test__users' 会报下面的错误
javax.servlet.ServletException: Hibernate operation: could not execute query; bad SQL
grammar [select this_.id as id0_, this_.username as username0_0_, this_.password as
password0_0_ from test__users this_ where (this_.username=? and this_.password=?)]; nested
exception is java.sql.SQLException: Table 'test.test__users' doesn't exist
:
xml 代码
分享到:
相关推荐
基于SSH的客户关系管理(CRM)管理系统源码+数据库(毕业设计).zip高分通过项目,已获老师指导。本项目是一套基于SSH的客户关系管理(CRM)管理系统源码+数据库,主要针对计算机相关专业的正在做毕设的学生和需要...
2. SSH服务配置:指南涵盖了如何安装和配置OpenSSH服务器,使您能够通过远程终端安全地访问Ubuntu系统,并进行远程管理和操作。 3. 网络配置:您将学习到如何进行网络配置,包括IP地址分配、DNS设置以及网络接口管理...
《Java EE实用开发指南:基于Weblogic+EJB3+Struts2+Hibernate+Spring》是一本讲解如何使用Weblogicl0.3+EJB3+JPA+Struts2+Hibernate+Spring开发Java Web应用程序的实用性图书,书中在具体讲解SSH2开发技术的同时,...
该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 (1)用户 用户可以在前台浏览器端注册并登录汽车销售管理网站;可以在首页进行汽车信息的浏览,公告浏览,按类别查询汽车;可以...
属于一个类似于CSDN或者ITeye论坛的IT技术学习交流论坛,界面简单清爽,易于操作。 毕业设计是高等教育阶段学生在完成学业前所进行的一项重要学术任务,旨在检验学生通过学习所获得的知识、技能以及对特定领域的...
该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 网上招聘系统的设计与实现,包含俩个角色:个人和公司角色。本系统结构如下: 个人角色 (1)首页:显示个人可以申请职位的...
该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 里面有部署教程,项目都经过严格调试,确保可以运行! 1. 技术组成 后台框架:SpringBoot 前端:Vue 数据库:MySQL Maven...
从第12章到第17章依次介绍DNS(域名服务)、FTP(文件传输协议)、Web网络服务器的设置、SMTP(简单邮件传输协议)、POP(邮局协议)以及SSH(安全Shell等方面的内容。在每一章中,我们将依次介绍相关服务软件的下载...
《git权威指南》是git领域的集大成之作,是一本关于git的百科全书,在广度、深度和实战性上让同类作品望尘莫及。作者是国内顶尖的版本控制专家和咨询顾问之一,本书得到了git官方维护者junio c hamano和iteye创始人...
中南大学网络工程实验的服务器搭建实验手册,专注于远程访问篇,是一份超详细的原创指南,原篇40页。该手册为学生提供了深入而全面的指导,帮助他们顺利完成服务器搭建实验中与远程访问相关的任务。 手册的开篇明确...
《git权威指南》是git领域的集大成之作,是一本关于git的百科全书,在广度、深度和实战性上让同类作品望尘莫及。作者是国内顶尖的版本控制专家和咨询顾问之一,本书得到了git官方维护者junio c hamano和iteye创始人...
因为当你听到有人说Linux操作系统和其他操作系统无法很好地共享或者不能够应用于实际生活当中的时候,你就会想起现在正拿在手里的这本书并且知道他们是错误的!原书相关信息原书书名:Linux Administration: A ...
声明:本文所依据的课程情况为2017级6系学生的操作系统课程情况,不排除与18级实际情况有所出入的可能性。操作系统实验课程课程目的“掌握操作系统原理的最好途径就
实际上,它可以: 处理文件/文件夹列表以从主机检索它限制提取的文件大小将内容存储在不同的已定义目录中触发钩子,用于在获取/提交之后/之前执行任何操作使用本地或远程git存储库以CSV格式报告最终状态以监控结果...
然后去53号路线,设置其余的: 请遵循本指南: : 名称服务器更新和您的网址实际工作可能需要一段时间(最多 24 小时)。 您不需要 DNS 服务器名称后的句点 启动数据库和服务器 接下来,您需要启动 mongo: sudo ...
本指南力求涵盖所有细节,但这不能确保本指南准确无误。无论是 SUSE LINUX GmbH、作 者还是翻译人员都不对任何可能的错误或因错误造成的任何影响负责。 Novell、Novell 徽标、N 徽标和 SUSE 是 Novell, Inc. 在美国...
在本指南中,我们想向您展示如何在两个具有实际服务的主机上设置最小的YADT系统。 第一个服务器上的yadtshell是“远程控制”, yadt-minion是客户端组件。 先决条件 两个基于RHEL的系统版本6.x或7.x Python> = 2.6...
在实际的任务中使用"continue N" 10-24. 使用case 10-25. 使用case 来创建菜单 10-26. 使用命令替换来产生case 变量 10-27. 简单字符串匹配 10-28. 检查是否是字母输入 10-29. 用select 来创建菜单 10-30. 用函数中...
6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...