发表于: 2017-05-12 21:23:35
1 1188
今天完成的事情:
今天花了一整天的时间,在师兄的帮助下,找了四五个BUG,页面终于正常显示了,感谢大师兄啊!
JSTL:JSP标准库,在maven项目中要添加依赖:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
明天打算做的事情:将JSP页面更改为动态内容,完成两个页面的改造,争取完成任务四!
遇到的问题:
1.
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
遇到问题的原因并不仅仅是因为没有添加依赖,而是这个标签库要在项目运行的时候被依赖,所以必须在maven项目中添加:
<!-- JSTL核心包 -->
<dependency>
<groupId>javax.servlet</groupId> <!--不是javax.servlet.jsp.jstl-->
<artifactId>jstl</artifactId>
<version>${jstl.version}</version>
<scope>runtime</scope> <!--运行时依赖!!!-->
</dependency>
如上所示,显然我还有另一个错误,在maven依赖库中,我搜索jstl,它会显示项目迁移到新的地方了,也就是
javax.servlet.jsp.jstl
我就天真的以为都是一样的,就添加了最新的,结果就还是报错了。。。。
以上就是两个问题了。
2. 没有在spring中添加Tiles视图页面加载配置,用于配置tiles页面:
<!--Tiles视图页面加载配置-->
<bean id="tilesResolver"
class="org.springframework.web.servlet.view.tiles3.TilesViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.tiles3.TilesView"/>
<property name="order" value="1"/>
<property name="viewNames">
<list>
<value>*index</value>
<value>*index2</value>
</list>
</property>
</bean>
我只添加了tiles模板的配置:
<!-- 配置tiles模板 -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/layout/tiles.xml</value>
</list>
</property>
</bean>
3. 第四个问题困扰了我两三个小时,结果也是挺奇葩的:
java.lang.NullPointerException,指明我的controller里的List<Student>。
这个报错以前没遇到过,搜索也搜不出什么特别有用的,我以为是类里的注解的问题,各种尝试都没有用。
后来问师兄,师兄说是空指针,我还是没有思路,最后在师兄帮助下一层层的往上找。
这个方法在空指针说明List里面没有东西,也就是studentService没有起来,查看日志,果然是没有studentService的Bean,说明没有被扫描到。可是我是明明配置了扫描整个项目路径的。
最后发现是路径地址的问题,在IDEA编辑器中使用相对路径,甚至是一个单独的项目名,IDEA都能够找到,但是Tomcat找不到啊!!!
所以以后尽量使用绝对路径,在项目名前添加com.就好了,页面终于完美呈现!
收获:
今天的收获就是怎么改BUG,以前一报错我通常就是直接复制相关错误信息谷歌一下,然后才思考是怎么回事,有的问题可能搜索不出来,我就很急躁了。通过这两天,终于知道遇到错误不是先去找答案,而是思考是哪里错了,可能是什么的问题,这样解决bug的效率更高!!!
评论