最近因为新公司入职,需要用到ssh框架,学习了一天,于是来写一写从前台到后台的流程及心得
1、web层(前台访问后台首先到达的地方)
1、web层(前台访问后台首先到达的地方)
这一层与mvc略有不同,mvc主要是利用url映射来进行访问,struts则使用action来进行交互
依旧还是万年不变的注入,ssh配置主要用一个主要的xml配置文件来进行配置。
<bean name="Action" class="com.xxx.web.Action">
<property name="service" ref="Service"></property>
</bean>
这个是将我们的action交给spring管理
然后再struts.xml中配置一下
<struts>
<package name="xxx"(随便写) namespace="/" extends="struts-default">
<action name="Action" class="Action" method="user">
<result name="success">/xxx.jsp</result>
</action>
</package>
</struts>
再随便写个jsp,即可访问,上面action中name为访问名。class即为我们之前注入的bean,method为我们action编写的访问方法
2、service层
这一层与mvc一样,都是业务逻辑层
<bean name="Service" class="com.xxx.service.UserService">
<property name="dao" ref="Dao"></property>
</bean>
service层主要目的就是调用dao层方法
其中要注入dao层的类,如果不加get set则会报错,其余不再赘述
3、dao层
这一层是利用hibernate进行crud的
<bean name="SessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
<prop key="hibernate.connection.url">jdbc:mysql:///库名</prop>
<prop key="hibernate.connection.username">root</prop>
<prop key="hibernate.connection.password">123456</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
</props>
</property>
<!-- 告诉Spring整合hibernate之后去哪里加载orm映射文件 -->
<property name="mappingDirectoryLocations" value="classpath:com/xxx/domain"></property>
</bean>
dao层当然也是要注入的
<bean name="Dao" class="com.xxx.dao.UserDao">
<property name="sessionFactory" ref="SessionFactory"></property>
</bean>
剩下的在dao层中进行crud,hibernate的增删改查方法众多,百度一下即可,ssh即整合完成
随后dao层将数据传到service层
service层再将数据传至web层
我在web层通过HttpServletRequest(初学,不知道最佳选择是啥,我就按照mvc的来了)将数据传至jsp,jsp通过el展示,到此基础的ssh搭建完毕