完全的从无到有的搭建一个最基础的SSH框架。
我们先做一下最开始的基础工作,先来将一个数据源配置好,然后进行三大框架的完整配置!!!
如图:
首先我们从右上角来建立一个数据源:
在“2”所指示的空白的地方,我们右键然后new一下,然后弹出对话框,如下图:
这里我是oracle数据库,所以我选择了oracle(thin driver),继续如下图操作:
按照上面的填写正确,一定要正确,然后第五步来选择数据库驱动jar包!一定要选择,然后直接 “finish” 即可,然后就完成了数据源的创建!!
下面就开始SSH的框架搭建之旅!!!!!!
一、首先新建一个项目:new--Web Project。
二、然后填写项目名称,选择开发版本:
点击“finish”
三、得到如下结构的项目:
四、开始先从struts2框架支持开始:
首先右键项目------选择“MyEclipse”-----按照下图选择:
选择之后弹出如下框:
直接执行1,2,3步就行,直接finish,不需要“next”!!!!
将会得到如下的项目结构,包括一个struts.xml映射文件和一些struts2的jar包(没有完全截图),下面的就一样了:
然后在WebRoot---WEB-INF--lib下面导入如下包:
struts2-spring-plugin-2.1.8.1.jar,反正是有用的,我反正就是缺少了这个包
五、从spring框架支持继续:
右键项目名称---选择“MyEclipse”---选择如下图所示选项:
弹出如下对话框,进行选择:
复选框的时候,一定要选完整!!!因为不能截图完整的原因,所以用两张图来表示!!!下面有两张图,要在复选框里面全部选择的:
上面的,复选框一定要按照上图来选择,其他的单选什么的都是一样的!!
直接finish即可!!!得到如下结构的项目框架:
六、进行hibernate框架支持:
右键项目名称---选择“MyEclipse”---按照如下图进行选择:
得到如下弹出框,按照下图进行选择:
下一步之后,选择spring映射文件中配置数据库,如图所示:
下一步之后,再如下图操作::
下一步之后,按照下图所示:
七、接下来写配置文件:
首先写web.xml配置文件,如下图,添加了监听代码:
代码如下,你们可以自行复制一下:
<!-- 配置监听 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext*.xml</param-value>
</context-param>
八、接下来,我们建立model层,action层,dao层,service层(采用双接口操作)
首先建立model层,我们利用MyEclipse反向生成映射文件(Xxx.hbm.xml)和实体类(Xxx.java)
先找到右上角进入数据库操作的层,如下图:
右键要导入的数据库表,然后如下图选择:
然后弹出如下对话框:
根据上面对应去选择即可,然后选择next下一步,如下图:
这一步是选择主键的增长策略,自己可以按需选择!直接finish,然后得到如下结构图:
此时model层已经建立好,接下来我们分别来建立action层,dao层,service层。
最终建立如下项目结构:
我们这是做一个简单的登录(Login)操作,然后取名叫做LoginXx类型,然后,这里我们要来配置一下spring的配置文件即:applicationContext.xml映射文件,如下图:
<bean id="loginDao" class="com.java.dao.LoginDao">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="loginService" class="com.java.service.LoginService">
<property name="loginDao">
<ref bean="loginDao"/>
</property>
</bean>
这里我们在applicationContext.xml文件里面配置了dao层和service层的一个注入操作,dao层是将SessionFactory注入,service层将dao层的bean对象注入;
此时,写完上面的,会报错,报错原因是dao层的LoginDao.java没有sessionFactory,而LoginService.java中没有dao层的bean对象注入,因此需要对LoginDao和LoginService来进行如下图操作:
上面是dao层类中,需要继承HibernateDaoSupport类和实现ILoginDao接口(一定要注意)
上面的service层类中,需要继承ILoginService接口(一定要注意),然后在实体里面去将ILoginDao的bean对象获取get和set方法,以此来注入
上面配置完,然后applicationContext.xml配置文件就不报错了,接下来我们来配置struts.xml配置文件:
九、配置struts.xml文件:
首先我们来创建一个login.jsp页面,然后在form表单中给出action="login"地址,然后再去配置struts.xml文件,会更加通俗易懂:
首先文件头需要导入struts2的标签,然后在body里面去实现页面
此时我们看到form表单中给出了一个action="login"的地址,那么我们再去struts.xml中去配置,然后最后到action中去实现!
struts.xml实现上面代码如图:
上面就是struts.xml的配置文件了,要把action里面的name,class,method(可选)写对,然后,写完之后,去action层的LoginAction类中去实现!!!如下图:
十、action实现逻辑:
然后此时,在35行会报错,因为没有getEmpInfo(username)这个方法的存在,然后我们可以点击左侧报错的提示,然后系统会自动在ILoginService.java中生成这个方法,如图:
此时会发现LoginService.java中会报错,是因为没有getEmpInfo方法,那么在LoginService的报错地方,点击左侧红叉,然后创建生成这个方法:
在LoginService类中实现这个方法后,会发现左侧提示报错,然后如法炮制,是因为ILoginDao下面没有这个方法,然后点击左侧的红叉,然后创建方法:
此时,生成方法之后,会发现LoginDao层中报错,这时只需要到LoginDao.java中去实现这个方法即可:
这样就完成了dao层实现sql的操作,如果dao层sql执行通过了,那么将会返回到action中继续逻辑判断,直到return为止。
发布项目到tomcat中,可能会报错,可能的原因是jar包重复导致的冲突,你们可以检查jar包是否重复!
至此,整个的配置流程就完成了。希望能帮助到大家,谢谢!有什么还不懂的可以留言然后一起讨论!
这里其实也就是一个思想,把握好一个思想就能够成功搭建的!
如果有搭建成功的,在下面回复留言一下呀!
更多精彩敬请关注公众号
Java极客思维
微信扫一扫,关注公众号