Spring框架(十)SSH.SSM

SSM

目录
SSH : Struts+Spring容器(IOC/AOP)+Hibernate
SSM : SpringMVC+Spring容器(IOC/AOP)+Mybatis
浏览器应用
restful服务应用

SSH : Struts+Spring容器(IOC/AOP)+Hibernate
SSM : SpringMVC+Spring容器(IOC/AOP)+Mybatis

SSM是用于实现应用层业务处理的技术方案。

浏览器应用

浏览器发送请求-->
SSM-->
HTML响应结果/list.do-->
SSM-->
/list.jsp-->
HTML列表页面
/list.do-->
DispatcherServlet-->
HandlerMapping-->
ListController-->
EmpService-->
EmpDao-->
EMP表(查询)-->
ViewResovler-->
/list.jsp-->

HTML响应结果

1.搭建SSM环境
    spring ioc、aop、dao、mvc、test
    mybatis、ojdbc、dbcp
    mybatis-spring
    jstl
    sqlmap-config.xml
    applicationContext.xml

2.web.xml配置DispatcherServlet

<servlet>     <servlet-name>springmvc</servlet-name>     <servlet-class>     org.springframework.web.servlet.DispatcherServlet     </servlet-class>     <init-param>         <param-name>contextConfigLocation</param-name>         <param-value>classpath:applicationContext.xml</param-value>     </init-param>     <load-on-startup>1</load-on-startup> </servlet>  <servlet-mapping>     <servlet-name>springmvc</servlet-name>     <url-pattern>*.do</url-pattern> </servlet-mapping> 

3.spring配置HandlerMapping

<mvc:annotation-driven /> 

4.编写和配置ListController

<!-- 扫描 --> <context:component-scan base-package="cn.xdl"/>  @Controller public class ListController {      @Autowired     private EmpService empService;      @RequestMapping("/list.do")     public ModelAndView list(){         ModelAndView mav = new ModelAndView();         List<Emp> list = empService.loadEmps();         mav.getModel().put("emps", list);         mav.setViewName("list");         return mav;     } } 

5.编写EmpService

    接口

    public interface EmpService {     public List<Emp> loadEmps(); } 

    实现

    @Service public class EmpServiceImpl implements EmpService {      @Autowired     private EmpMapper empDao;      @Override     public List<Emp> loadEmps() {         //调用EmpDao查询         List<Emp> list = empDao.loadAll();         return list;     } } 

6.编写EmpDao

    编写Mapper接口和SQL语句

    @MyBatisMapper public interface EmpMapper {      @Select("select * from emp order by empno")     public List<Emp> loadAll(); } 

    spring配置mybatis

    <bean id="dbcp" class="org.apache.commons.dbcp.BasicDataSource">     <property name="username" value="SCOTT"></property>     <property name="password" value="123456"></property>     <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"></property>     <property name="driverClassName" value="oracle.jdbc.OracleDriver"></property> </bean>  <bean id="factory" class="org.mybatis.spring.SqlSessionFactoryBean">     <property name="dataSource" ref="dbcp"></property>     <property name="configLocation" value="classpath:sqlmap-config.xml"></property> </bean>  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">     <property name="basePackage" value="cn.xdl"></property>     <!-- 在cn.xdl包下,并且包含@MyBatisMapper标记的才算有效的Mapper接口 -->     <property name="annotationClass" value="cn.xdl.util.MyBatisMapper">     </property>     <property name="sqlSessionFactory" ref="factory">     </property> </bean> 

7.spring配置ViewResovler

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">     <property name="prefix" value="/"></property>     <property name="suffix" value=".jsp"></property> </bean> 

8.编写list.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>     <head>         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">         <title>Insert title here</title>     </head>     <body>         <h1>员工列表</h1>         <table>             <tr>                 <th>编号</th>                 <th>姓名</th>                 <th>工资</th>             </tr>             <c:forEach items="${emps}" var="e">             <tr>                 <td>${e.empno }</td>                 <td>${e.ename }</td>                 <td>${e.sal }</td>             </tr>             </c:forEach>         </table>     </body> </html> 

restful服务应用

HTTP请求(浏览器/ajax/URL/HttpClient/MockMvc/RestTemplate)-->
SSM-->
JSON响应结果 /list-->
SSM-->
[json,json,json]/list-->
DispatcherServlet-->
HandlerMapping-->
ListController-->
EmpService-->
EmpDao-->
EMP表(查询)-->
JSON响应结果
list.html/list.jsp-->
ajax(调用/list)-->
显示列表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值