阿阿影
有可能是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>
我也是菜鸟,你先看看吧
xxzx
你这个项目的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”
啊哈哈略知一二
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
辽工大
猎鹰8525
是否有增加servlert-api?在pom.xml里面
慕粉4417664
ACE996
如果显示的返回model和map,spring会自动把model和map转成ModelAndView。ViewResolver会处理ModelAndView,呈现成视图。
慕的地9955338
我的找到原因了mvc-dispatcher-servlet.xml 中<context:component-scan base-package="">这个包扫描是不是限制了其他java类扫描不到base-package=""这个属性是否给正确
宝慕林1479674
log4j.appender.Cons=org.apache.log4j.ConsoleAppender
log4j.appender.Cons.layout=org.apache.log4j.PatternLayout
log4j.appender.Cons.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
# Root logger set to DEBUG using the A2 appender defined above.
log4j.rootLogger=info, Cons
log4j.additivity=false
#Application Logger+
log4j.logger.com.imooc.mvcdemo=debug, Cons
#log4j.logger.org.springframework=debug, Cons
log4j.additivity.com=false
这个是log4j
慕粉210541504
图片哪里找?
当凹遇上凸_0
报的什么错,贴出来大家才知道怎么解决啊。
qq_非非_1
mvn:一种代码管理工具,也负责依赖包的管理。比如你可以加入jetty的maven插件像这样:
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.8.v20171121</version>
</plugin>
</plugins>
jetty:servlet容器。也可以认为是运行环境。Javaweb程序的根基是servlet(jsp也是特殊的servlet,框架的根基也是。),页面的呈现啊、页面的跳转啊所有网页的相关功能都是由servlet来处理。Javase部分并不负责servlet运行相关的条件,需要外部容器,这个容器可以是各种各样的,例如jetty、tomcat。这里的容器也可以看成你工程的“服务器”了。Linux部署完成这些容器后,打包发布工程,本地点击浏览器就能看见你的网页了。
mvn jetty:run:则是要求工程运行到jetty的命令,意思是:“工程啊!你在jetty里面奔跑起来吧!”,官网对它的描述是:
The plugin automatically ensures the classes are rebuilt and up-to-date before deployment. If you change the source of a class and your IDE automatically compiles it in the background, the plugin picks up the changed class.
You do not need to assemble the webapp into a WAR, saving time during the development cycle. Once invoked, you can configure the plugin to run continuously, scanning for changes in the project and automatically performing a hot redeploy when necessary. Any changes you make are immediately reflected in the running instance of Jetty, letting you quickly jump from coding to testing, rather than going through the cycle of: code, compile, reassemble, redeploy, test.
这里面提到了只要运行起来,每次修改完成代码后,其实也不需要重新启动了。
以上是我的理解。
Veiga_C
直接:
@Autowired
private CourseService courseService 也可以,是自动装配的两种方式而已,用哪一种都可以
慕斯卡1986739
log默认配置的问题吧。这是另一个同学的回答。
https://www.imooc.com/qadetail/106893
一滴水55
编码先改为iso-8859-1,去除特殊字符,然后改为utf-8,去除隐藏的
慕侠136279
model里没有赋值进去
linda2017
慕瓜3669723
加载Tomcat,讲myeclipse的实用工具加载进去tomcat包,选择项目选择平常运行的serves选项,确定导入tomcat后,在项目中右键点击运行,在下面观察结果
Frank011235
右边资料下载
人生如熙
已解决,看太快!有对此类标注@service注解。
时而abc
http://localhost:8080/你的项目名称/courses/view?courseId=789,如果这样输入还有问题 查看你的WEB-INF下面有没有jsps文件夹 文件夹里要存放course_view.jsp文件,查看文件名字和你最后return的名字是否一样
qq_昨夜星辰_6
找到问题原因了,多打了个逗号。
应该为log.debug("In viewCourse,courseID = {}" , courseId);
残叶听风
代码呢?
丶子非鱼
页面发送url请求的时候后面添加了courseid ,可以在后端通过PathVariable("courseid")直接获取那个参数
@RequestMapping(value="/view2/{courseId}",method=RequestMethod.GET)
public String viewCourse2(@PathVariable("courseId")Integer courseId,Map<String,Object> model){
....
return ""; //返回到相应的路径
}
勤勉4193292
就是日志输入,搜下log4j用法
qq_不只是看看_03455689
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>改成
<%@ taglib uri="http://java.sun.com/jsp/jstl/core_rt" prefix="c"%>
kylinthinker
<form action="user/newUser" method="post">在action的地址前面加个 / 就好了
<form action="/user/newUser" method="post">
慕姐2973146
json