最近一段时间在研究struts2-spring3.X-hibernate
看完书后自己重写了一遍书中的系统
struts2.xml 和 applicationContext.xml文件使用myEclipse默认生成的文件
系统采用贫血模式,分为三层:
model层: 使用myEclipse中的映射向导生成表中的映射文件
Dao层: 封装model层,并提供相应的增删改查方法
Service层: 封装Dao层,提供对外调用的方法
Action包里是页面调用各个Action类及方法
问题:
struts2.xml 和 applicationContext.xml文件配置配置完成,服务正常启动, 弱不调用
Service层中的方法,页面跳转、session的写入和输出均正常。
一旦调用Service中的方法,系统就会包空指针错误
解决方法:引入jar包, 我使用的是 struts2-spring-plugin-2.3.4.jar
注:struts2.xml也要交由spring管理, 只需在struts2.xml文件如下标签即可
<beans>
<!-- struts交给spring管理 -->
<constant name="struts.objectFactoy" value="spring"/>
<pakcage...>
...
</package>
</beans>
分享到:
相关推荐
配置数据源连接,如在Spring框架中,通过`applicationContext.xml`或YAML配置文件设置JDBC连接池和数据库连接信息。 8. **事务管理** 根据需求,配置事务管理策略,如编程式事务管理或声明式事务管理。在Spring中...
解决这类问题的方法有多种,例如使用maven的exclude标签排除不需要的依赖,或者使用工具如Maven Dependency Plugin分析并解决冲突。 "项目部署"这个文件名表明,压缩包内应包含了一系列指导如何将"zheng"项目上线的...
Unitils可以自动填充数据库表,使得测试数据在测试开始前就准备好。同时,它也支持在测试后清理这些数据,避免数据污染。 3. **数据库断言**:Unitils提供了丰富的数据库断言方法,可以直接比较数据库的实际状态与...
在Struts2配置文件(struts.xml)中,我们需要为每个Action定义一个映射,指定其执行的方法和结果视图。例如,当用户发送一个添加书籍的请求,Struts2会根据配置找到对应的Action并执行相应的`execute()`或特定的...
4. **编写Service层逻辑**:在Service层,我们可以调用DAO的批量插入方法,准备数据并执行操作。 ```java @Service public class UserService { @Autowired private UserMapper userMapper; public void ...
这将根据配置文件生成相应的Java代码。 5. **生成的文件** - DAO接口:在`src/main/java`目录下,会生成与表对应的DAO接口,如`StudentMapper.java`,包含了CRUD操作方法。 - Mapper XML文件:在`src/main/...
首先,`.classpath`文件是Eclipse或MyEclipse项目中的配置文件,它包含了项目的类路径信息,包括JRE系统库、项目依赖的库以及项目内部的源代码目录。在Struts2项目中,`.classpath`可能包含Struts2的库依赖,如...
7. **编写业务逻辑**:实现Service层的方法,调用DAO层进行数据库操作。 8. **编写Action**:创建Struts2的Action类,调用Service层的方法,并设置结果跳转。 9. **创建视图**:使用JSP、FreeMarker或其他视图技术...
- 调用DAO层的方法完成具体的业务需求。 5. **编写Controller层代码** - 创建`UserController`类,处理前端发送过来的HTTP请求。 - 调用Service层的方法获取数据并返回给前端。 #### 五、小结 通过上述步骤,...
service层是业务逻辑的核心,调用dao完成具体任务,并可能被Spring管理;web层则处理用户请求,如登录、注销等,通过Action类来实现。 在service层,我们需要编写IUsersService接口和对应的UsersService实现类。...
4. **DAO层(Data Access Object)**:虽然MBG不直接生成DAO类,但通常我们会创建一个接口和它的实现类,接口继承自MBG生成的Mapper接口,实现类则通过SqlSession调用Mapper接口的方法来执行SQL。 MyBatis ...
ssi-web很可能是项目的Web应用目录,包含了Struts2的配置文件(struts.xml)、Spring的配置文件(如applicationContext.xml)、iBatis的配置文件(mybatis-config.xml)以及相关的Action类、Service类、DAO类和模板...
5. **运行MBG**:在配置文件准备就绪后,可以通过Java API或者Maven插件来运行MBG。执行后,MBG会根据配置生成指定目录下的Java源代码和XML映射文件。 6. **整合到项目中**:生成的代码可以直接引入到项目中,与...
在SSM项目中,Controller层通过调用Service层的方法来处理业务,Service层再调用DAO层的方法来完成数据操作,这个过程可以通过定义接口和实现类来实现,提高代码的可维护性和扩展性。 4. **准备工作** 在创建SSM...
2. Action类相应方法使用封装好的HttpClient相关工具类,准备好HTTP请求的相关参数header参数和body参数并以xml的方式提交HTTP请求; 3. 解析该HTTP请求返回值(XML或JSON); 4. 响应结果; 5. 测试; 备注: 开发...
Controller接收请求,调用Service,Service再调用DAO完成数据操作。 10. **Junit测试**:在src/test/java目录下,使用junit4编写测试类,对Service或DAO层的方法进行单元测试。确保在没有实际数据库的情况下,也能...
在Action中调用Service方法,Service中调用DAO方法,完成业务逻辑。 7. **创建数据库表**:根据Hibernate的实体类创建对应的数据库表。 8. **运行测试**:创建一个简单的JSP页面,通过Struts2的标签库与Action进行...
在Action类中,通过调用Service层的方法来处理业务,而Service层又会调用DAO层的方法来操作数据库。DAO层通常会使用Hibernate的Session接口进行数据库交互。 在Struts2的配置文件(struts.xml)中,需要定义Action...
创建Service接口和实现类,调用DAO完成业务逻辑。 - **创建JSP页面**:为登录和注册功能创建相应的输入和成功页面。 **4. 测试** 完成上述步骤后,部署项目到应用服务器,通过浏览器访问Web应用,测试登录和注册...
6. 编写业务逻辑:创建Action类,实现业务处理,利用Spring注入的依赖调用Service层方法。 7. 实现DAO层:使用Hibernate提供的API进行数据库操作,封装SQL查询。 8. 测试与调试:通过单元测试确保各个模块正常工作,...