1项目描述:在做Javaweb项目时,使了servlet+jsp+jquery+前端三座大山实现一个书城项目,第一阶段完成了用户的登录,注册功能;第二阶段完成书籍的操作,如增删改查。
2.知识点巩固:JavaSE :集合list和Map集合,泛型,异常,反射等
3.前端web:熟悉html的基本属性标签,使用jsp的简化替代html页面,EL/JSTL表达式
4.问题描述:web项目主要思想都是前端浏览器发送请求传给后端程序(初学者按照路线学即可,此处使用servlet+jsp),后端接收获取请求参数,处理相应业务。后端通过几大域对象操作获取前端请求参数,得到相应的路径,请求方式。总结:静态jsp页面–>动态程序
5.问题抛出:在web项目servlet服务器运行时候,前端页面跑起来总是遇到一个尴尬的事情。。。。404
插播13香
5.主要代码:
下图可以看出使用了静态包含,功能:一般编程开发时,相同的页面标签都放在一个文件中使用静态包含导入,,,小伙伴瞬间想到了c中的#include<studio.h>吗?
已包含文件header.jsp
别看这段代码的作用:见名思意,这段代码是头部文件,只是导入了一些关与文件路径的注释代码,如已经注释了的css的路径,使用了静态包含后就不需要了 所有的项目里从此复用到底.
别看笔者洋洋洒洒的码字很怡然自得,其实这个bug解决了一天,重新部署咋样都404.对于初学者确实好难啊! 对着源码都找不话出问题!!!啊啊啊啊啊去你妈的JVM
原来的代码排查思路:回顾jsp回传数据给前端页面的通信流程,单独运行jsp页面不成问题在系统中代码跳转之后出错,应该排除单个页面的大问题。应该是某个路径重复或者使用请求重定向时,路径的地址出错;第二步回到servlet程序,代码不长,这里就写了一句图书管理功能页面跳转,路径是从
从主页进入后点击后台管理之后页面跳转,http://xxx:8080:/book(项目名开始)+后面的pages/book-manager.jsp即到了下图。
第三步:回到静态页面最终千辛万苦发现有一个文件里没有完全使用打包好的静态包含,也就是说此页面的相对路径起点不是http://xxx:8080:/book
操作开始,点击后台管理 跳转。。。路径如下
问题:从该页点击图书管理后,路径如下,一脸懵逼
什么原因?
最终确定问题出现在manager.jsp中,该文件的超链接有问题,无法导出最后的相对路径 代码如下:
修改bug之前没有加![在这里插入代码片](https://www.www.zyiz.net/i/ll/?i=ea8d89b688e148deb62d0cd6a98cf4c4.png)
所以路径的绝对路径为:http://xxx:8080:/book/pages/manager.jsp(后台管理页面)+页面的直接跳转,而不是走的程序写的
导入静态包含文件后就再次部署工程;成功
第一次写博客 有点乱。
总结:静态包含作用:简化代码,建议项目每个相同的部分抽离,不要遗漏
其次要注意分析前端后端的联调问题,这是一个合格程序员的起点。
欢迎联系沟通:QQ:2021576267
email:leejianlove@163.com