【狂神说Java】SpringMVC最新教程IDEA版通俗易懂

作者: 遇见狂神说分类: 计算机技术 发布时间: 2019-10-20 16:33:06 浏览:1719978 次

【狂神说Java】SpringMVC最新教程IDEA版通俗易懂

德华靓仔:
狂神的博客服务器到期了,博客内容搬运到微信公众号了,微信搜索,狂神说就可以找到[妙啊]

【回复】好人一胎二十个[脱单doge]
遇见狂神说:
拒绝白嫖,从点赞转发关注做起! 文章同步在公众号:狂神说 (公众号日更,记得关注) 视频文档地址:http://dwz.date/ac27

MyBonnieLass:
花了一天弄完P20,能踩的坑都踩了,记录一下 1. 根目录下的pom.xml有三个关键点 1)jstl的groupId是javax.servlet,另一个groupId为javax.servlet.jsp.jstl的包会出现ClassNotFound的异常 2)参考你的Tomcat版本选择servlet和jsp依赖的版本,网址为http://tomcat.apache.org/whichversion.html,我的是9.0.x,故选择4.0.1的javax.servlet-api和2.3.3的javax.servlet.jsp-api,这里的两个依赖scope建议设置为provided,表示不会被打包,因为Tomcat自身会提供;这里版本选择不对可能造成错误?没有验证过 3)lombok的scope建议设置为provided,但是不设置也不会报错 2. web.xml中初始参数contextConfigLocation应该设置为总的classpath:applicationContext.xml,这点狂老师在视频中后面也有讲到,如果还有问题注意检查BookServiceImpl中的mapper是否被注入,BookController中的bookService是否有被注入 3. 关于在jsp文件中不能解析xxxController中写好的URL的问题,是IDEA自身的配置问题,有时候会莫名不好使,解决方法是在Project Structure中点击Modules,然后删除代表Spring配置的绿叶子那项(点减号-),再重新添加Spring,IDEA会自动关联一个applicationContext.xml (src/main/resources/applicationContext.xml),再确定即可 暂时就记得这么多

【回复】description The requested resource is not available. 404 报错实在找不到原因 救救我救救我
【回复】回复 @风行万里112 : 新起项目基本都是boot的 可以做个项目练手巩固ssm 主要学一下整体思想 我之前做的CRM项目
【回复】500错误 Failed to import bean definitions from URL location 【classpath:spring_service.xml】 在网页和MyTest中都会出现这个错误,重新建项目跟用别人的完整项目都会报这个错误,期待有大神解答
快乐云海:
p17数据库 CREATE DATABASE ssmbuild; USE ssmbuild; CREATE TABLE `books`( `bookID` INT NOT NULL AUTO_INCREMENT COMMENT '书id', `bookName` VARCHAR(100) NOT NULL COMMENT '书名', `bookCounts` INT NOT NULL COMMENT '数量', `detail` VARCHAR(200) NOT NULL COMMENT '描述', KEY `bookID`(`bookID`) )ENGINE=INNODB DEFAULT CHARSET=utf8 INSERT INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES (1,'Java',1,'从入门到放弃'), (2,'MySQL',10,'从删库到跑路'), (3,'Linux',5,'从进门到进牢')

【回复】别信狂神的一个一个去执行 其实它只是在utf8后面少写了一个分号哈哈哈哈哈[doge][doge][doge][doge][doge][doge]
【回复】你的好像有少写东西 CREATE DATABASE `ssmbuild`; USE `ssmbuild`; CREATE TABLE `books`( `bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id', `bookName` VARCHAR(100) NOT NULL COMMENT '书名', `bookCounts` INT(11) NOT NULL COMMENT '数量', `detail` VARCHAR(200) NOT NULL COMMENT '描述', KEY `bookID`(`bookID`) )ENGINE=INNODB DEFAULT CHARSET=utf8; INSERT INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`) VALUES (1,'Java',1,'从入门到放弃'), (2,'MySQL',10,'从删库到跑路'), (3,'Linux',5,'从进门到进牢');
【回复】回复 @欢笑应犹在 :B站评论非楼中楼似乎会吞掉评论里的引号
fioiy:
p15 <!-- JSON乱码问题配置 --> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8"/> </bean> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="objectMapper"> <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"> <property name="failOnEmptyBeans" value="false"/> </bean> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>

【回复】有人遇到Element mvc:message-converters is not allowed here这个问题吗?怎么解决的
【回复】牛批兄弟,我就知道评论肯定有,给你👍
桐茂X:
血的教训,各位千万别用idea2020.1版本,bug贼多 还有maven3.6.3也有点小问题 我同时拥有卧龙凤雏这两员大将,学完了spring和mybatis,心态炸了无数次 [无语][无语]

【回复】回复 @小孩都这样吗 :我告诉你如何不换IDEA解决这个问题,你每次出现卡顿时候就立刻结束进程,别急着重启,先去工作目录找到项目源码,把里面有个mvn啥的关于maven的文件夹直接删掉,因为里面就配置了idea默认的maven,很恶心,删完之后再重启idea,这时候通过选择导入本地项目导入,然后此时这个项目就不是maven项目了,此时先去配一下你idea的默认maven为你自己的maven,因为你原本配置的自己的maven已经被前面idea骚操作更换成了默认maven,到此基本快完成了,最后一步就是右键你项目的pom文件,选择add as maven project,over[OK]!
【回复】回复 @张邪秋 :tomcat10简直天生bug
肥宅无人爱:
MVC一次请求的全过程 1.用户发起请求 2.中央控制器dispatcherServlet 3.dispatcherServlet调用处理器映射器handlerMapping 4.handlerMapping找到对应处理器,并返回对应的处理器对象handler给中央控制器 5.dispatcherServlet将handler给handlerAdapter处理器适配器 6.handlerAdapter调用handler处理器(controller) 7.controller调用业务层 8.业务层调用dao层 9.dao层调用jdbc或Mybatis对数据库操作返回给业务层 10.controller得到业务层返回的数据,返回modelandview 11.dispatcherServlet调用视图解析器ViewResolve解析modelandview 12.ViewResolve返回view 13.dispatcherServlet将view给jsp进行渲染呈现给用户 看了课,按自己的理解写的,有没有大佬帮忙看下有无错误

【回复】回复 @海螺Aven :你好 我跟你理解相同 我也对这个handler一头雾水 因为老师确实没有提及这个名词 并且我查询资料后发现controller(我们自己写的实现类)就是一个handle 这样一来就说的通了
【回复】4.返回的应该不是对象,应该是对应的 注解名字或者 Bean名字,传给适配器之后,适配器才获取到Controller对象
【回复】13感觉应该是将Model数据传给 jsp渲染
无极拉杆:
<!-- 依赖:junit,数据库驱动,连接池,servlet,jsp,mybatis,mybatis-spring,spring--> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.4</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency>

【回复】剩下的依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.9.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.1.9.RELEASE</version> </dependency>
【回复】借楼说明一下在我这个时间段的遇到的c3p0连接错误的解决办法,如下, 1,pom.xml中引入新版的依赖 <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>有提示</version> </dependency> 2,刷新Maven的包,删除Tomcat中lib包下过时c3p0包,并加入新版的c3p0的包 以上就可以解决c3p0产生的错误。
【回复】剩下一半在后面......[OK]
zxy28591227:
这几天看了老师的很多视频,我觉得讲得非常好,从浅到深,非常通俗易懂,讲得很仔细,我学到很多,非常感谢老师! 老师讲了很多内容,好像还差Spring Cloud,请问老师近期能不能讲讲Spring Cloud? 因为这个Spring Cloud太火了,企业都在用它。

【回复】回复 @让卤蛋飞_ :Springboot
【回复】回复 @狂神说Java :狂神大哥,看完ssm系列,先写项目试手还是继续深造spring-boot啊
遇见狂神说:
文章会同步在公众号:狂神说 (公众号日更,记得关注)

【回复】老师博客不开了吗以后[酸了]
x了个w:
老师按着课程敲的,一直报这个错是啥原因啊 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring-dao.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException

【回复】我也是,看博客发现 把mybatis-config.xml里的 <mapper resource="com/kuang/dao/BookMapper.xml"/> “/” 写成“.”了。改过之后就好了
【回复】我也遇到这个错了,然后我改了好久。改着改着,这个问题就不见了,最后只知道我把那个引入jdbc 的外部文件给去掉,然后c3p0连接池改成了jdbc 的那个,最后跑起来了
【回复】<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build> 这里面不要加resouce,血的教训
苏热su:
这个是老师的smm整合文档。 https://mp.weixin.qq.com/s/SDxqGu_il3MUCTcN1EYrng

【回复】还是这个文档方便 狂老师 太给力了 第一次见说的这么详细的...
【回复】回复 @jack1ove3 :谢谢,大佬
是大熊啊_:
p20 兄弟们,我成功了,给大家说一下错误的地方 首先如果Tomcat启动不成功,是没有lib的原因 解决办法:项目结构-artifacts,然后 把你的WEB-INF目录展开,如果没有lib包就单击一下WEB-INF目录,然后点那个文件夹带个+的图标,新建lib文件夹,选中lib文件夹,点击+下面带个小三角那个图标,选第一个Library Files,全选添加,然后Apply-ok就行了。重启Tomcat就能成功了! 其次是启动之后点击跳转500的问题 解决方法: 1,web.xml里面contextConfigLocation的classpath改成这个 classpath:applicationContext.xml 2,mybatis-config里面的mapper resource要用/,不能用. mapper resource=com/kuang/dao/BookMapper.xml/ 只要其他地方都和老师的一样,就是这两个地方错误了。 有帮助了顶我上去!!!!

【回复】Failed to import bean definitions from relative location 【spring-service.xml】这个问题怎么解决???p20的
【回复】回复 @帅帅帅的刘哥 :兄弟解决了吗,我卡了一晚上了……
狸狸娅酱:
ajax哪里要导入jackson的依赖,而Jackson的依赖有三个, 一开始以为是只有一个搞了tomcat报错 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.8</version> </dependency> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.8</version> </dependency> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.9.8</version> </dependency>

【回复】其实有两个依赖就可以跑出结果了,但是tomcat会报错,放三个依赖就不会报错(强迫症)[tv_doge]
【回复】最新版好像导入一个bind就行,其他两个自动就进来了[doge]
jackcai5:
p20,我直接copy老师的代码,最后在实现BookController的时候,RequestMapping无法跳转到指定的allBook页面,最后和以前的代码对比,在web.xml中DispatcherServlet的配置中将servlet-name改成SpringMVC就可以跳转了,idea上也出现了那个标志,大家可以试试

【回复】回复 @罗_磁 :是的,改一下名字就可以了。
【回复】你好,请问就是改一下名字吗
黄昏下的激动:
我跟着一步一步来的,还是404,但是后台没有报错。。。。lib也有,有没有一样的

【回复】为什么我过滤器一直显示出问题 org.apache.catalina.core.StandardContext.filterStart Exception starting filter 【encodingFilter】 java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter
【回复】页面一直报404的 试一下在Run->Edit Configurations页面下找到Deployment选项 在Application context:下拉框选为空 我本人就是这样之后404就正常了(记得lib中jar要全部导入!!!)
【回复】看看Tomcat路径那里有没有配好,是不是配到当前项目下的webapp
无极拉杆:
<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.3</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.3</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.4.RELEASE</version> </dependency> </dependencies>

【回复】回复 @会享受的宝剑君 :maven官网
【回复】我按照你的版本改了mybatis-spring和c3p0 就好了,想请教一下 这个匹配的版本号应该从哪里看呢?
明天就开摆丶:
p20报错 HTTP状态 500 - 内部服务器错误 类型 异常报告 消息 Servlet【dispatcherServlet】的Servlet.init()引发异常 描述 服务器遇到一个意外的情况,阻止它完成请求。 根本原因。 org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource 【applicationContext.xml】; nested exception is java.io.FileNotFoundException: class path resource 【applicationContext.xml】 cannot be opened because it does not exist 有大佬能看看帮帮忙嘛。。从昨晚百度到现在都没解决好烦呀

【回复】在spring-dao.xml部分的mybatis部分改成这样,也就是加上classpath试试看 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:mybatis-config.xml"/> </bean>
【回复】回复 @Xsux :谢谢你,我也是找了好多方法都不行,最后把IDEA2020.2卸了换了个版本2019.3结果导入跑一次就成功了。。实在不知道啥问题。。感觉2020.2的确有些不太好
【回复】我和你的一样,你的解决了吗,求解啊啊啊啊啊
Atlantis丶x:
book/allBook访问路径没有提示,搞了很多遍都没有!!

【回复】<servlet-name>SpringMVC</servlet-name>这里要这么写才对
【回复】回复 @CalvinHaynes :什么意思,大佬教教
【回复】麻了,巨坑记录:各路方法都试过了,结果发现是SpringMVC的plugin没打开,打卡之后豁然开朗,太艹了,长记性了,之后要是在遇到啥奇奇怪怪问题也得先看看plugin

ssm框架 狂神说Java java spring5 javaee web开发 springmvc spring java教程 Spring教程

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

更多相关阅读