源代码有下载的呀同学
有源代码下载的同学
文件名是repository可能会是本地仓库的路径名中含有了repository关键字的原因。所以我也把文件名改了,改成了repositories。
但是我看默认的地址其实文件名也是repository,所以我一开始只改settings里面设置的配置本地仓库的名字后运行还是有错误,只有手动在idea里面改文件路径才运行正常。
https://www.jianshu.com/p/b3da0c8a22fe
启动后,再次运行时 报 adress in use. 解决办法,将 IDEA 里的 terminal 关掉,重新打开新 terminal 终端,再次运行即可不报 address in use 错误。但 HTTP ERROR: 503 的问题依然还在
问题同上
根据你的url你在直接访问jsp 如果jsp在web-inf内不能被直接访问 需要通过controller的requestmapping
建议你参看老师视频去了解下老师用的是怎样的url
这是资源文件
你说的很对
拦截器嘛,比如你要给方法前后加日志
有可能是mvc-dispatcher-servlet.xml中静态资源文件的配置写的有问题。旧版<mvc:resources location="/assets/**" mapping="/assets/**" />,新版<mvc:resources location="/assets/" mapping="/assets/**" />,那两个星。
或者这个配置:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/" /> <property name="suffix" value=".jsp" /> <property name="contentType"> <value>text/html;charset=UTF-8</value> </property> </bean>
我也是菜鸟,你先看看吧
就是你demo实体类的包路径,这个路径你自己可以定义
你有课堂示例源码吗?下载不了
你这个项目的Web.xml 文件的是不是2.4或者2.4以上的声明版本,因为只要不是2.4或者以上的版本是无法获取EL表达式的内容的,这样会导致你那些JSP页面引用的EL表达式对应获取的信息无法被识别,你去查看一下,这个课程前面有讲过的.
已解决
在pom.xml中添加
<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> </dependency>
之后还会出现由于用IDEA打开eclipse java项目编译时,出现以下错误:
Error:(1, 1) java: 非法字符: ‘\ufeff’ Error:(1, 10) java: 需要class, interface或enum
点击指定的工程,右键,“Remove BOM”
把$后面的括号()改成大括号{}
请问一下,这个问题是怎么解决的?
依据规则写好需要的依赖包名称,然后maven下载到本地进行使用。
spring mvc 中的model 有三种形式,其中一种形式就是map,关于这三种形式的具体内容,百度一下可以查到很多相关内容,同时,/view2/{courseId} 这种传参的形式与Map 或者 model 没有关系,因为这个 courseId 是入参,而map等等是返回参数,所以不换也是可以用 /view2/{courseId} 的
比如这种: @Controller public class LoginController { @RequestMapping(value = "/login/{name}/{pass}", method = RequestMethod.GET) public String login(@PathVariable("name") String userName, @PathVariable("pass") String password) { System.out.println("name="+userName+",password="+password); return "message"; } } 只需要再增加一个斜杠加占位符即可,但占位符也就是{}里面的值要和@PathVariable指定的value值相匹配 访问路径 例:http://localhost:8080/login/小明/123
不理解你的“值一直未中”什么意思。是返回页面没有变化吗?
如果是这个问题,
老师的后台代码(4-5binding)的doSave方法中有一句:course.setCourseId(123),就是这句话,是的无论新增了什么课程,返回的页面都是调用了courseId=123的这个课程的信息,所以才导致看起来doSave之后课程的显示内容一点都没有变化。
可以检查2个方面:
1、url,如楼上所说,需要加上工程名称。如http://localhost:8080/spring-mvc-study/hello/mvc。
2、WEB-INF里lib文件夹下有没有jstl.jar。
我的是没有lib文件夹及jstl.jar,添加进去,并Bulid Path就可以正常访问了。
什么是积分
应该是在阿里云上拉去jar包失败导致的编译失败,修改一下maven的配置文件setting.xml中的镜像配置试试看
仔细检查jps文件名称在配置文件里面是不是写错了.
是CourseServiceImpl 这个类的的代码写的有问题吧
package com.imooc.mvcdemo.service.impl;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Service;
import com.imooc.mvcdemo.model.Chapter;
import com.imooc.mvcdemo.model.Course;
import com.imooc.mvcdemo.service.CourseService;
@Service("courseService")
public class CourseServiceImpl implements CourseService {
public Course getCoursebyId(Integer courseId) {
Course course = new Course();
course.setCourseId(courseId);
course.setTitle("深入浅出Java多线程");
course.setImgPath("resources/imgs/course-img.jpg");
course.setLearningNum(12345);
course.setLevel(2);
course.setLevelDesc("中级");
course.setDuration(7200l);
course.setDescr("多线程是日常开发中的常用知识,也是难用知识。bala bala...");
按照教程把前面文件检查一遍,和视频里面一样还有就是编码格式都改为UTF-8即可
mvc.xml 中的context:component-scan包名与你 HelloMvcController.class所在包名一致吗?
<context:component-scan base-package="com.imooc.mvcdemo.controller" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>