发表于: 2017-08-22 23:39:11

1 1172


今天完成的事情:完成l了ssm整合

                             整体流程 先准备好数据库 表 数据    建立一个web项目 添加相关依赖

                                   

整体目录贴一个  这里分层分的比较清晰  pojo 是数据库相关 mapper里面是接口 然后把他的xml文件写出来

       xml里面实现了相关方法 这些都与以前所学一致  service里面一个接口和他的实现类  controller是控制最后再看

这里CategoryServiceImpl被注解@Service标示为一个Service并且装配了categoryMapper

然后思路先写web.xml  然后再写Spring的配置文件 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">


   <context:component-scan base-package="com.how2java.service" />

   <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
       <property name="driverClassName">
           <value>com.mysql.jdbc.Driver</value>
       </property>
       <property name="url">
           <value>jdbc:mysql://localhost:3306/how2java?characterEncoding=UTF-8</value>

       </property>
       <property name="username">
           <value>root</value>
       </property>
       <property name="password">
           <value>123123</value>
       </property>
   </bean>
       <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
           <property name="typeAliasesPackage" value="com.how2java.pojo" />
           <property name="dataSource" ref="dataSource"/>
           <property name="mapperLocations" value="classpath:/mapper/Category.xml"/>
       </bean>

   <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
       <property name="basePackage" value="com.how2java.mapper"/>
   </bean>
</beans>

在配置springmvc的资源文件  

  <context:annotation-config/>

   <context:component-scan base-package="com.how2java.controller">
      <!-- <context:include-filter type="annotation"
                               expression="org.springframework.stereotype.Controller"/>-->
   </context:component-scan>

   <mvc:annotation-driven />


   <mvc:default-servlet-handler />

   <!-- 视图定位 -->
   <bean
           class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <property name="viewClass"
                 value="org.springframework.web.servlet.view.JstlView" />
       <property name="prefix" value="/WEB-INF/jsp/" />
       <property name="suffix" value=".jsp" />
   </bean>
</beans>

jsp文件配置完了 再回过头来看controller

// 告诉spring mvc这是一个控制器类
@Controller
public class CategoryController {
@Autowired
   CategoryService categoryService;

   @RequestMapping("/listCategory")
public ModelAndView listCategory(){
ModelAndView mav = new ModelAndView();
       List<Category> cs= categoryService.list();

       // 放入转发参数
       mav.addObject("cs", cs);
       // 放入jsp路径
       mav.setViewName("listCategory");
       return mav;
   }
}


最后tomcat运行

 完美跑出来

但是增删改查实现还有问题 主要对controller这里理解的不到位 spring的bean注入理解也不够 没有成功              

明天计划的事情:实现增删改查  仔细研究相关代码 尤其是bean的注入 在整理整体流程理解controller
遇到的问题:注解使用的有问题 各种404  主要是

           

                                                        这两个注解没写对

     提示bean注入一直失败   还有空指针异常

     原来是启动tomcat 没有设置对  这里要加上war包自动部署

收获:了解了ssm融合的基本思路 能够成功实现 在浏览器中调用数据库  了解spring对于mvc的控制

.他的实际流程是首先浏览器上访问路径 /listCategory      

tomcat根据web.xml上的配置信息,拦截到了/listCategory,并将其交由DispatcherServlet处理。 

DispatcherServlet 根据springMVC的配置,将这次请求交由CategoryController类进行处理,所以需要进行这个类的实例化  在实例化CategoryController的时候,注入CategoryServiceImple

 在实例化CategoryServiceImple的时候,又注入CategoryMapper
. 根据ApplicationContext.xml中的配置信息,再将CategoryMapper和Category.xml关联起来了。
这样拿到了实例化好了的CategoryController,并调用listCategory方法
在listCategory方法中,访问CategoryService,并获取数据,并把数据放在"cs"上,接着服务端跳转到listCategory.jsp去
 最后在listCategory.jsp 中显示数据



返回列表 返回列表
评论

    分享到