前言:
自学Javaweb以来逐渐感觉有点力不从心,从数据库到jsp,session,cookie等,都是似懂非懂,感觉学了点啥,有好像啥都没学,如今在写Javaweb项目,总是有一些bug的出现导致项目运行不起来,总归是我没学好,需要继续努力赶项目,每次需要写的时候都得再重新浏览一遍之前学的内容。下面是我在学习过程中以及在做项目时的一些心得。
jsp相关学习及项目问题:
JSP
静态包含
<%@include %>
动态包含
<jsp:include page=""></jsp:include>
特点:
效率高,耦合度低
能定义同名变量
生成多个源码文件
相当于方法的调用
注:
当不需要传递参数时中间不加任何东西。
使用动态包含传递参数
<jsp:include page="要包含的文件路径">
<jsp:param name="参数名" value="参数值"/>
</jsp:include>
注:name不支持表达式,value支持
JSP的四大域对象:
pageContext page域
request request域
session session域
application context域
1)域对象作用:
保存数据 和 获取数据 ,用于数据共享。
2)域对象方法:
setAttribute("name",Object) 保存数据
getAttribute("name") 获取数据
removeAttribute("name") 清除数据
3)域对象作用范围:
page域: 只能在当前jsp页面中使用(当前页面)
request域: 只能在同一个请求中使用(转发)
session域: 只能在同一个会话(session对象)中使用(私有的)
context域: 只能在同一个web应用中使用。(全局的)
这些内容在我们的做项目时需要用到,尤其是cookie和session他们能让我们在一个网站上共享登录信息不然每次都得请求转发。
Filter
只要在 Filter.doFilter 方法中调用 FilterChain.doFilter 方法的语句前后增加某些程序代码,这样就可以在 Servlet 进行响应前后实现某些特殊功能。
总结:
在本次的制作网站时最主要的还时servlet与过滤器filter虽然前端做的并不雅观但能实现一些网站的基本功能,在接下来的制作和学习中我也会更加努力的完成它。