虽然之前也上过javaweb的课程,做过一些案例,不过还是对自己太自信了,直接去听了ssm的课程,听的我一头雾水,所以又回来听听黑马的javaweb,做一下知识补充。
javaweb
一、基础知识的介绍
将服务器上的一切数据都看为资源,不仅是静态页面,连servlet或者是jsp编写的函数也视为资源——虽然是经过处理产生的资源,但是返回到用户手里的也是资源。
服务器和浏览器传输资源需要有一个通信规则,不然资源那么多,你用这个格式,他用哪个格式,处理不过来,HTTP 协议:Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。[摘自菜鸟教程]
现在有了客户的浏览器,即客户端,也有了传输协议——http超文本传输协议,还需要一个服务器,服务器需要有解析协议的功能,从协议中获取数据,然后再用协议将数据返回给浏览器端,这其中解析功能,需要写很多的函数用来确认分析协议的信息,非常的麻烦,我们的web服务器已经为我们封装好了这些功能,很常见的服务器有tomcat等等。
为了规范数据的传输,所以有了传输协议,那么为了编程,是否也会有类似的规范呢,当然有,对于java网络编程也有一套技术规范,包括了很常见的:JDBC、JSP、XML等很常见的技术规范,这些技术规范的合称为JAVAEE、这些规范当然也需要被支持,被使用。被谁使用和支持?当然最应该是服务器喽,Tomcat就支持Servlet/JSP规范,所以Tomcat也被称为Web容器、Servlet容器。Servlet需要依赖Tomcat才能运行。
Servlet是JavaWeb最为核心的内容,它是Java提供的一门动态web资源开发技术。使用Servlet就可以实现,根据不同的登录用户在页面上动态显示不同内容。
javaweb 三大组件
1.servlet上文已经介绍过,是一种技术规范,专门用于开发web资源
开发中会对httpServlet进行继承,并对其中的方法进行重写,通过request和response对数据进行获取传输。
2.Filter——在ssm中比较常见于权限控制、同一编码处理(直接在spring-mvc.xml文件中配置)
Filter的基本使用:
Filter的几种拦截情况
3.Listener——在javaweb中并不是很常用,在ssm中常见用于获取配置环境,比如ServletContextListener
二、一些ssm前置小知识:
此处的loadOnStartup 会在springmvc的配置文件中配置。
访问路径:
urlPartten——》》》**mapping的访问路径
乱码问题
setCharacterEnconding————》》过滤器中配置
(共同点:都需要在获取数据之前设置)
页面间的资源共享:请求转发和重定向
返回带有动态资源的资源,一个进化过程
servlet——》jsp——》jsp+servlet——》html+ajax
当还没有出现jsp文件时,html只能写静态资源,不能写代码,所以只能用servlet返回信息,非常的繁琐,服务器书写页面+返回数据
后来出现了jsp文件,可以在页面中通过脚本:
JSP 脚本有如下三个分类:
<%…%>:内容会直接放到_jspService()方法之中
<%=…%>:内容会放到out.print()中,作为out.print()的参数
<%!…%>:内容会放到_jspService()方法之外,被类直接包含和一些jsp文件
bi
jsp为java servlet page,可以在页面上插入书写代码【本质上还是一个servlet】,这其中仍有很大的问题,比如说后端和前端都得对jsp文件操作,责任混乱,增加了任务量,十分的混乱等等问题
所以有进化了一次:servlet+jsp
S+J,不直接在J中写代码,运用EL表达式(可以获取转发到jsp中域存储的数据)和JSTL使用标签简化jsp上的代码,el表达式可以用${}来获取数据,这就向前进了一小步,获取的数据是从域中搜索到的。
所以还需要介绍一下域的知识——:
会话跟踪技术:
cookie【客户端会话技术、存在客户端】 、session【服务端会话技术、存在服务端】——用于做用户登录状态保持等等功能
AJAX:异步的 JavaScript 和 XML。
axios是对ajax的封装,并且提供了一些api,方法对异步方法的调用。