[手把手教程][JavaWeb]SSM框架验证、修复和实例

本文详述了SSM(Spring、SpringMVC、Mybatis)框架的冲突解决步骤,包括配置IDEA、处理Spring配置文件、解决Tomcat的404错误页面,以及通过web.xml和Spring的web配置优化。此外,还介绍了SSM框架的经典三层架构和MVC模式,以及用户登录注册功能的分析和 Dao、Service 层的实现。文章提供了详细的代码示例和单元测试,适合JavaWeb初学者。
摘要由CSDN通过智能技术生成

[手把手教程][JavaWeb]SSM框架验证、修复和实例

【可能本篇文章篇幅有点长,但是内容都非常详细,满满的干货知识等着你,文末有福利记得签收哦】

java学习交流qun:925895158,只为爱学习java的小伙伴创建一个小交流圈

工具

  • IDE为idea15
  • JDK环境为1.8
  • maven版本为maven3
  • Mysql版本为5.5.27
  • Tomcat版本为7.0.52

本期目标

  • 项目框架介绍和冲突解决
  • 实例Service和Dao。项目框架测试。
  • 登录、注册业务的分析、创建和演示

冲突解决

为什么我把冲突解决放在第一位?

因为在冲突解决后,我们可以进入测试阶段,同时在解决冲突的时候,我们会一点点的体会到SSM项目框架中各个框架之间是怎么协同工作的,也就可以完成项目介绍。

重要的是,在实际生活中,我们去公司上班,一般也是先解决项目框架冲突问题。

  • 打开项目后,随意选择一个Spring的配置文件,会弹出如下界面:

    ssm框架检测第一步

    ssm框架检测第一步

    我们点击图中右上角圈出来部分,会弹出如下界面:

    ssm框架检测第二步

    ssm框架检测第二步

    这里我们什么都不需要做,直接点击OK

    上面两步是为了告诉Idea我们的Spring配置文件在哪。类似单一Spring配置文件的ApplicationContext.xml一样,我们只是将Spring根据模块分发而已。

  • 在Tomcat中运行本项目,运行结果应该是在浏览器中显示Hello World界面。

    • 配置Tomcat

    • 配置项目的Tomcat启动设置。

    • 参考连接:点击进入

    • 在web浏览器中输入:localhost:8080/druid ,查看druid是否配置成功。

      ssm框架检测第三步

      ssm框架检测第三步

      如上面的图中,我们可以看到我们的druid并没有把JDBC驱动列出来。这说明我们的项目的JDBC驱动要么没有设置,要么是数据库驱动的配置文件没做好。

    • 随意输入一个localhost:8080/下的地址,至此我们要展示错误404页面。并且把Tomcat不友好的404页面替换。

      • 替换思路:错误404这种常出现的页面,我们可以设置为静态资源,以加快网页访问。

      • 注意:我们需要先把WEB-IN\Fweb.xml下面的mvc-dispatcher更改为全局配置。

        <servlet-mapping>
            <servlet-name>mvc-dispatcher</servlet-name>
            <!-- 默认匹配所有的请求 -->
            <!-- 我们默认配置这个是为了让我们的Spring框架接管Servelt,实现Spring控制所有站点请求 -->
            <url-pattern>/</url-pattern>
            <!--<url-pattern>/css/*</url-pattern>-->
            <!--<url-pattern>/images/*</url-pattern>-->
            <!--<url-pattern>/fonts/*</url-pattern>-->
        </servlet-mapping>
        

        配置了web.xml后,我们重启重启应用,输入一个错误的地址(跳转到404页面),会发现提示错误信息,主要报错如下

         Exception encountered during context initialization - cancelling refresh attempt: 
            org.springframework.beans.factory.BeanCreationException: 
                Error creating bean with name 'dataSource' defined in file [项目所在的物理地址\WEB-INF\classes\spring\spring-dao.xml]: 
                    Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/slf4j/Logger
            
            //上面这个错误主要是提示我们:NoClassDefFoundError: org/slf4j/这个类找不到。
        
        解决办法:偷懒的把log4j2从maven配置文件中删除了,开启了logback,在maven的pom.xml中:
            
            <!-- 1.日志 -->
            <!--<!– 实现slf4j接口并整合 –>-->
            <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${org.slf4j.version}</version>
            </dependency>
        
            <!--log4j2支持-->
            <!--<dependency>-->
                <!--<groupId>org.apache.logging.log4j</groupId>-->
                <!--<artifactId>log4j-core</artifactId>-->
                <!--<version>${org.apache.logging.log4j.version}</version>-->
            <!--</dependency>-->
            <!--<dependency>-->
                <!--<groupId>org.apache.logging.log4j</groupId>-->
                <!--<artifactId>log4j-api</artifactId>-->
                <!--<version>${org.apache.logging.log4j.version}</version>-->
            <!--</dependency>-->
        

        接着,我们重启Tomcat,等项目部署完成后,我们再次打开,再次输入错误地址,我们发现还是在报错,信息如下:

        Exception encountered during context initialization - cancelling refresh attempt: 
            org.springframework.beans.factory.BeanCreationException: 
                Error creating bean with name 'sqlSessionFactory' defined in file [项目物理地址\WEB-INF\classes\spring\spring-dao.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: 
                    Failed to convert property value of type [java.lang.String] to required type [org.springframework.core.io.Resource[]] for property 'mapperLocations'; 
                        nested exception is java.lang.IllegalArgumentException: 
                            Could not resolve resource location pattern [classpath:mapper/*.xml]: class path resource [mapper/] cannot be resolved to URL because it does not exist
                            
            根据上面的提示信息,我们可以看到提示的是mapper下面没有文件,那么我们就给他制定一个空的配置文件(BaseDao.xml),内容如下:
            
                <?xml version="1.0" encoding="UTF-8" ?>
                <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
                <!-- namespace是指明Mybatis扫描的目录,mapper是我们的Dao层的映射目录 -->
                <mapper namespace="cn.acheng1314.dao">
                </mapper>
        

        同样的,我们再次重启服务器,并且输入错误的地址,现在能正常显示错误404的页面了,但是页面太过Low了,我们得重写一下web.xml的配置。404页面如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值