0,建立Web项目,该项目的目录结构必须符合javaEE的标准。
1,引入SSH的jar包,一般使用两种方法:借助maven在下载;使用MyEclipse中的自动添加功能。
maven方式略
MyEclipse方式
在项目上单击右键,选择MyEclipse-->Project Facets-->选择具体的框架。
顺序一般为先添加struts2和hibernate,最后添加spring。
2,配置l文件(部署描述符)
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.t.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>l</param-value>
</context-param>
*默认情况下,l是放在WEB-INF中的,要想放在别的地方,比如MyEclipse中的源文件夹。就需要配置<contxt-param>标签
3,分别配置三个框架的专用配置文件l、l、l
l文件可以利用Hibernate Tools的工具类自动生成。MyEclipse提供逆向工程可以通过表结构来生成Entity类对应的*.l文件。
在该文件中配置流程信息就可以了。
<constant name="struts.objectFactory" value="spring"></constant> <!--将创建Action对象工厂类,改成Spring中的ApplicationContext类-->
<package name="" namespace="" extends="struts-default">
<action name="" class="别名"> <!--别名:此处原来是全限定名,现在改成别名,这个别名将对应spring中的bean的id-->
<result name="逻辑视图名">物理视图名</result>
</action>
</package>
*struts2.1.x中namespace属性有bug,如果没有前缀,一定要加上"/"。
*
@Controller("personAction")
public class PersonAction {}
以上代码中的personAction与<action>标签中的class属性的值相对应。
<context:component-scan base-package="edu.yuhf"></context:component-scan>
<bean id="sessionFactory" class="hibernate3.LocalSessionFactoryBean">session下载
<property name="configLocation"
value="classpath:l">
</property>
</bean>
4,编写相应的类并进行测试
Dao/Service
@Repository("personDao")
public class PersonHibernateDaoImpl extends HibernateDaoSupport implements PersonDao {
private SessionFactory sessionFactory;
@Resource
public void setSuperSessionFactory(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
}
测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "l")
public class PersonDaoTest {
@Resource
PersonDao personDao;
@Test
public void loginTest(){
System.out.println(personDao.queryByNameAndpassword("admin", "admin"));
}
}
Action
@Scope("prototype")
@Controller("personAction")
public class PersonAction {
private String userName;
private String password;
@Resource(name="personService")
PersonService personService;
public String login(){
return "ok";
}
public String validation(){
System.out.println(userName+","+password);
if(personService.isLogin(userName, password)==true){
return "success";
}
return "error";
}
get/set()方法
}
5,部署项目,集成测试运行。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论