JavaWeb学习
- web是指网页的意思
- 静态web:html、css、数据不会改变的网页
- 动态web:因客户的操作而改变数据的网页
- web服务器
- IIS
- Tomcat
- 修改主机映射IP
-
-
- 正常访问网站:
-
- 在浏览器输入域名
- 浏览器先检查C:WindowsSystem32driversetchosts文件有没有IP地址的映射
- 有:直接访问
- 没有:直接访问DNS域名服务器找映射IP
- 有:直接访问
- 没有:报404
- Http
- http是什么
- HTTP,又被称为超文本传输协议(http,hypertext transfer protocol)是互联网上应用最为广泛的一种网络协议。所有来的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
- http请求(request)、响应(response)
- 在浏览器中输入地址并回车就得到页面,经过了什么
- 参考:https://blog.csdn.net/kuangsonghan/article/details/80046492
- 参考:https://www.cnblogs.com/tisikcci/p/5866753.html
-
第一步:浏览器查找该域名的IP地址
第二步:浏览器根据解析得到的IP地址向web服务器发送一个HTTP请求
第三步:服务器收到请求并进行处理
第四步:服务器返回一个响应
第五步:浏览器对该响应进行解码,渲染显示
第六步:页面显示完成后,浏览器发送异步请求
- Maven(约定大于配置):它就是一个jar包管理工具
- 只需配置下载镜像和本地仓库(可选)
- servlet(jsp的本质就是一个servlet)
- servlet原理
- servletContext
- ServletContext官方叫servlet上下文。服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象。这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象
- 数据共享
- 获取初始化参数
- 请求转发(请求一次,url不变,状态码:307),重定向(请求两次,url改变,状态码:302)
- 读取资源文件(注意maven可能不会打包静态资源,要加静态资源过滤)
- session
服务端保存用户信息
- cookie
客户端保存用户信息
- jsp(java server pages)
- 项目在Tomcat部署中,jsp先编译成java代码文件放在Tomcat临时文件件work目录中,只要项目重新部署,之前的jsp编译成java代码文件会被清空,然后再次生成心的java文件
-
- Tomcat服务器的工作目录(work)
-
- jsp本质是servlet,jsp编译会编译成java代码,继承HttpServlet类
-
- jsp基础
- 表达式:<%= 表达式 %>
- jsp声明:<%! xxxx %>,用了jsp声明会编译到jsp的类里面,没有声明会编译到_jspService()方法中
- EL表达式:${ 变量}
- 普通java代码:<% %>
- include
- import
- jsp基础
-
- jsp标签
<%jsp:include ...%>
<jsp:forward page='xxx' >
-
- jstl表达式
核心标签
引用标签:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
参考:https://www.runoob.com/jsp/jsp-jstl.html
-
- 9个隐式对象
1、out 来源于java.io.Writer类,它用于发送输出流到客户端。
2、request 来源于javax.servlet.http.HttpServletRequest接口。它被关联到每一个HTTP请求。
3、response 来源于javax.servlet.http.HttpServletResponse。response对象用于把取得的数据返回到客户端。
4、pageContext 提供访问JSP页面的命名空间。它也提供用来访问其他的JSP隐含对象。
5、session 来源于javax.servlet.http.HttpSession。它用于存储客户端请求的信息,因此它是有状态交互式的。
6、application 来源于javax.servlet.ServletContext。
7、config 来源于ServletConfig,它包含了当前JSP/Servlet所在的WEB应用的配置信息。
8、page 来源于当前被访问JSP页面的实例化。它实际使用的是JSP转换成的Servlet。
9、exception 用于捕获JSP抛出的异常。它只有在JSP页面属性isErrorPage=true时才可用。
-
- 四大作用域
取值pageContext==》
application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
request:请求作用域,就是客户端的一次请求。
pageContext:一个JSP页面。
- javaBean(实体类)
-
- 提供一个默认的无参构造函数。
- 需要被序列化并且实现了 Serializable 接口。
- 可能有一系列可读写属性。
- 可能有一系列的 getter 或 setter 方法。
- MVC三层架构(模型、视图、控制器)
控制器(Controller):控制器即是控制请求的处理逻辑,对请求进行处理,负责请 求转发和重定向;
视图(View):视图即是用户看到并与之交互的界面,如HTML(静态资源),JSP(动态资源)等等。
模型(Model):模型代表着一种企业规范,就是业务流程/状态的处理以及业务规则的规定。业务流程的处理过程对其他层来说是不透明的,模型接受的请求,并返回最终的处理结果。业务模型的设计可以说是MVC的核心。
- 过滤器
- 只需继承Filter,重写doFilter方法
- 用于字符集的过滤解决乱码问题