20.SSM框架集~Spring MVC

20.SSM框架集~SSMS大总结之Spring MVC

本文是上一篇文章的后续,详情点击该链接~

初识SpringMVC

spring mvc依赖
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.2.RELEASE</version>
    </dependency>
springmvc.xml配置
    <!--  springMVC  -->
    <context:component-scan base-package="com.alvin.controller"/>
    <!--   配置注解解析器   -->
    <mvc:annotation-driven/>
web.xml
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--配置SpringMVC容器对象的配置文件加载路径-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
    <!--服务器启动即完成DispatcherServlet的初始化创建-->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>mvc</servlet-name>
    <url-pattern>/</url-pattern><!--拦截除Jsp以外的所有请求-->
  </servlet-mapping>
</web-app>
第一个SpringMVC程序
@Controller
public class MyController {
    @RequestMapping("/show")
    public String hello(){
        System.out.println("已运行SpringMVC");
        //跳转到index.jsp页面
        return "redirect:/index.jsp";
    }
}

将Spring,SpringMVC,Mybatis整合登录,并将内容传送到前台

所需依赖

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.alvin</groupId>
  <artifactId>springMvcInit</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <properties>
    <mysql-version>8.0.11</mysql-version>
    <mybatis-version>3.5.2</mybatis-version>
    <spring-version>5.2.2.RELEASE</spring-version>
    <mybatis-spring-version>2.0.4</mybatis-spring-version>
    <slf4j-version>1.7.25</slf4j-version>
    <jstl-version>1.2</jstl-version>
    <servlet-api-version>3.1.0</servlet-api-version>
    <jsp-version>2.2</jsp-version>
    <junit-version>4.12</junit-version>
    <jackson-version>2.9.9</jackson-version>
  </properties>

  <dependencies>
    <!--mysql的驱动依赖-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql-version}</version>
    </dependency>
    <!--mybatis的核心依赖-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis-version}</version>
    </dependency>
    <!--springIOC的核心依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring-version}</version>
    </dependency>

    <!--spring-jdbc连依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring-version}</version>
    </dependency>

    <!--spring-test依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring-version}</version>
    </dependency>
    <!--spring-webmvc依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring-version}</version>
    </dependency>

    <!--mybatis连接spring的依赖-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>${mybatis-spring-version}</version>
    </dependency>

    <!--日志依赖-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j-version}</version>
    </dependency>

    <!--jstl依赖-->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>${jstl-version}</version>
    </dependency>

    <!--jackson依赖-->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson-version}</version>
    </dependency>

    <!--jsp-servlet-api-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>${servlet-api-version}</version>
      <scope>provided</scope>
    </dependency>

    <!--jsp-api-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>${jsp-version}</version>
      <scope>provided</scope>
    </dependency>

    <!--单元测试的依赖-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit-version}</version>
      <scope>test</scope>
    </dependency>

    <!--AOP的命名空间依赖-->
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.9.4</version>
    </dependency>

  </dependencies>

  <build>
    <plugins>
       <!--引入tomcat服务器插件-->
       <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
          <configuration>
          <!--指定tomcat的端口号-->
          <port>8888</port>
          <!--指定访问的上下文路径-->
          <path>/</path>
          </configuration>
       </plugin>
    </plugins>
  </build>
</project>

配置文件

applicationContext-mybatis.xml
<?xml version="1.0" encoding="UTF8"?>
<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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">

        <!--把jdbc.properties文件引入-->
        <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>

       <!--[A]连接数据库 获得数据源-->
       <bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
           <property name="driverClassName" value="${m_driver}"></property>
           <property name="url" value="${m_url}"></property>
           <property name="username" value="${m_uname}"></property>
           <property name="password" value="${m_pwd}"></property>
       </bean>

       <!--[B]获得sqlsession工厂-->
       <bean id="factory" class="org.mybatis.spring.SqlSessionFactoryBean" >
           <property name="dataSource" ref="ds"></property>
           <property name="typeAliasesPackage" value="com.alvin.pojo"></property>
       </bean>

      <!--[C]扫描mapper文件-->
      <bean id="mapper" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
          <property name="sqlSessionFactoryBeanName" value="factory"></property>
          <property name="basePackage" value="com.alvin.mapper"></property>
      </bean>
</beans>
applicationContext-service.xml
<?xml version="1.0" encoding="UTF8"?>
<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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">

      <!--包的扫描-->
      <context:component-scan base-package="com.alvin.service.impl"></context:component-scan>

    <!--AOP的切面操作-->

</beans>
springmvc.xml
<?xml version="1.0" encoding="UTF8"?>
<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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        https://www.springframework.org/schema/mvc/spring-mvc.xsd">

      <!--@Controller-->
     <context:component-scan base-package="com.alvin.controller"></context:component-scan>

      <!--@RequestMapping-->
     <mvc:annotation-driven></mvc:annotation-driven>

    <!--静态资源放行标签-->
    <!--mapping:代表的是网络中访问的路径  location:代表本地放行的文件位置-->
    <mvc:resources mapping="/img/**" location="/img/"></mvc:resources>

    <mvc:resources mapping="/css/**" location="/css/"></mvc:resources>

    <mvc:resources mapping="/js/**" location="/js/"></mvc:resources>

</beans>

代码

Controller
@Controller
public class UserController {

    @Autowired
    private UserService  userService;

    @RequestMapping("/findAllUser")
    @ResponseBody
    public List<User>   findAllUser(Integer son,String password){
        User user = userService.Login(son,password);
        if(user != null){
            return  userService.findAll();
        }else{
            return null;
        }
    }
}
Service
@Service
public class UserServiceImpl  implements UserService {

    @Autowired
    private UserMapper  userMapper;

    @Override
    public List<User> findAll() {
        return userMapper.selectAll();
    }

    @Override
    public User Login(Integer son, String password) {
        return userMapper.Login(son,password);
    }
}
Mapper
public interface UserMapper {

    @Select("select *  from  student")
    List<User>  selectAll();

    @Select("select * from student where son = #{param1} and password = #{param2}")
    User Login(Integer son,String password);
}

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext-*.xml</param-value>
  </context-param>

  <!--【1】配置字符编码过滤器-->
  <filter>
    <filter-name>enc</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>
  </filter>

  <filter-mapping>
    <filter-name>enc</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!--【2】解析applicationContext.xml配置-->

  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>


  <!--【3】解析springmvc.xml-->
  <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:springmvc.xml</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <!--除jsp以外的所有的请求都会进servlet-->
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

猜你喜欢

转载自blog.csdn.net/qq_41424688/article/details/107530158
今日推荐