浏览 5365 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2014-03-16
SSH框架集成,可以说是JAVA Web开发中的一大利器,这些框架都经历了众多企业级开发的考验,散仙,今天写此篇文章的目的,第一呢,是自己好久没写过Web开发的例子,算是练练手,第二呢,也是最重要的一个目的,是为了某一个重要的人,而写的。
所以散仙尽量会以入门者的心态,来阐述整个小项目环境的搭建以及部署开发的流程,尽量让大家通俗易懂,一目明了。 在这之前,先谈谈SSH的使用状况,SSH框架集成,仍是当前中小型企业开发的首选利器,虽然近几年,使用Spring MVC+MyBatics+Spring有所增长,但以整体的趋势来看,SSH仍是当前开发的经典主流,因为使用SSH开发,足可以应对90%的企业级网站开发,当然更大型的网站架构以及开发可能会倾向于EJB+JPA+JSF的模式开发,这种情况,以及非常罕见了, 大部分的时候,我们使用不上这种网站架构。 下面开始进入正题,先看来下项目的开发环境: <table class="bbcode"><tr><td>名称</td><td>描述<tr><td>Web容器</td><td>Tomcat7<tr><td>IDE工具</td><td>Myeclipse10.1<tr><td>平台</td><td>Windows<tr><td>语言</td><td>JAVA<tr><td>JDK</td><td>1.7<tr><td>数据库</td><td>MySQL5.1<tr><td>Spring</td><td>3.0,myeclipse自带<tr><td>Struts</td><td>2.1,myeclipse自带<tr><td>Hibernate</td><td>3.3,myeclipse自带<tr><td>对人要求</td><td>保持一份不浮躁的心情,和一种积极向上心态。<tr><td>其他</td><td>若侥幸搭建成功,希望你能勤加练习,并记录总结下心得,当然如果失败,任何问题可以随时联系散仙得以解决。</table> 散仙本次写此篇文章,除了有完整的环境搭建步骤外,还有一个显示数据库的数据,到前台的功能,其他的删除,添加,修改功能,留给各位学习的朋友,做为练习,如果有什么不明白的地方,可以留言给散仙。 数据库表的设计,主要有2个表,一个学生表,一个班级表,有学生表里面的班级id和班级表里面的id是主外键关系,建表时候,最好先建外键表,再建主键表,截图如下: 第一步,创建一个Web项目 第二步,添加Hibernate的功能,具体步骤,如下截图所示: 然后,就可以创建一个hibernate的数据源了,后面生成实体类会用到。截图如下: 第一步,添加Spring功能,截图如下: 第三步,添加Struts的功能: 完成后,截图如下: web.xml配置如下: <pre name="code" class="xml"> &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&gt; &lt;context-param&gt; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; &lt;param-value&gt;classpath:ac*.xml&lt;/param-value&gt; &lt;/context-param&gt; &lt;filter&gt; &lt;filter-name&gt;osiv&lt;/filter-name&gt; &lt;filter-class&gt;org.springframework.orm.hibernate3.support.OpenSessionInViewFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter&gt; &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;osiv&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; &lt;listener&gt; &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt; &lt;/listener&gt; &lt;welcome-file-list&gt; &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt; &lt;/welcome-file-list&gt; &lt;login-config&gt; &lt;auth-method&gt;BASIC&lt;/auth-method&gt; &lt;/login-config&gt; &lt;/web-app&gt; </pre> 按3层架构,写好的类结构图如下,Spring文件,为了直观,就分离开: ac.xml里面的配置: <pre name="code" class="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans default-autowire="byName" xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd "&gt; &lt;!-- 配置数据源 --&gt; &lt;bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt; &lt;property name="username" value="root"&gt;&lt;/property&gt; &lt;property name="password" value="root"&gt;&lt;/property&gt; &lt;property name="url" value="jdbc:mysql://localhost:3306/tt"&gt;&lt;/property&gt; &lt;property name="driverClassName" value="com.mysql.jdbc.Driver"&gt;&lt;/property&gt; &lt;/bean&gt; &lt;!-- sessionFactory工厂,Hibernate和Spring集成后,一般由Spring通过依赖注入负责管理 --&gt; &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; &lt;!-- 加载实体类配置XML --&gt; &lt;property name="mappingResources"&gt; &lt;list&gt; &lt;value&gt;com/entity/Classes.hbm.xml&lt;/value&gt; &lt;value&gt;com/entity/Student.hbm.xml&lt;/value&gt; &lt;/list&gt; &lt;/property&gt; &lt;/bean&gt; &lt;!-- 定义抽象BaseDao --&gt; &lt;bean id="baseDao" class="com.commons.BaseDao" abstract="true"&gt; &lt;/bean&gt; &lt;!-- 定义抽象业务层 --&gt; &lt;bean id="baseSerivices" class="com.commons.BaseSerivices" abstract="true"&gt;&lt;/bean&gt; &lt;!-- 定义hibernate事务管理器 --&gt; &lt;bean id="tx" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&gt;&lt;/bean&gt; &lt;!-- 定义事务通知 --&gt; &lt;tx:advice id="txAdvice" transaction-manager="tx"&gt; &lt;tx:attributes&gt; &lt;tx:method name="*" propagation="REQUIRED"/&gt; &lt;tx:method name="get*" propagation="SUPPORTS"/&gt; &lt;tx:method name="find*" propagation="SUPPORTS"/&gt; &lt;/tx:attributes&gt; &lt;/tx:advice&gt; &lt;!-- 定义aop切面 --&gt; &lt;aop:config&gt; &lt;aop:pointcut expression="execution(* com.service.*.*(..))" id="pc"/&gt; &lt;aop:advisor pointcut-ref="pc" advice-ref="txAdvice"/&gt; &lt;/aop:config&gt; &lt;/beans&gt;</pre> Struts的文件里内容: <pre name="code" class="xml"> &lt;?xml version="1.0" encoding="UTF-8" ?&gt; &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"&gt; &lt;struts&gt; &lt;constant name="struts.objectFactory" value="spring"&gt;&lt;/constant&gt; &lt;package name="zhutingting" extends="struts-default"&gt; &lt;action name="showAll" class="studentAction" method="selectAll"&gt; &lt;result name="success"&gt;/index.jsp&lt;/result&gt; &lt;/action&gt; &lt;/package&gt; &lt;/struts&gt; </pre> 项目运行的一个截图: 其他部分的,代码,散仙在这里就不截图了,后面散仙会把整个小项目例子上传上来,有需要的朋友们,可以下载下来,进行参考。 学习过程中,如遇到解决不了的问题,可以留言。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2014-03-31
尽量少用工具吧。
|
|
返回顶楼 | |
发表时间:2014-04-15
学习可以用工具,熟练后,我们已经很少用工具了。
|
|
返回顶楼 | |
发表时间:2014-04-28
且学且珍惜,得认学习真正消化
|
|
返回顶楼 | |