JavaWeb简介
javaweb概念:javaWeb是指,所有通过java语言编写可以通过浏览器访问的程序的总称,叫javaWeb
javaWeb是基于请求和相应来开发的
请求:客户端给服务器发送的数据,叫请求Request
响应:服务器给客户端传回数据,叫响应Response
响应与请求成对出现的,由请求就有响应
web资源的分类
静态资源:html、css、js、txt、jpg、mp4
动态资源:jsp页面、Servlet程序
javaweb简图
get与post
form 标签是表单标签
action 属性设置提交的服务器地址
method 属性设置提交的方式 GET(默认值)或 POST
表单提交的时候,数据没有发送给服务器的三种情况:
1、表单项没有 name 属性值
2、单选、复选(下拉列表中的 option 标签)都需要添加 value 属性,以便发送给服务器
3、表单项不在提交的 form 标签中
GET 请求的特点是:
1、浏览器地址栏中的地址是:action 属性[+?+请求参数]
请求参数的格式是:name=value&name=value
2、不安全
3、它有数据长度的限制
POST 请求的特点是:
1、浏览器地址栏中只有 action 属性值
2、相对于 GET 请求要安全
3、理论上没有数据长度的限制
XML
xml是可扩展的标记性语言
xml的作用:
- 用来保存数据,这些数据具有自我描述性
- 可以作为项目或模块的配置文件
Tomcat的使用
安装
解压Tomcat版本对应的zip压缩包,解压到需要安装的目录即可
目录介绍
bin 用来存放Tomcat服务器的可执行程序
conf 用来存放Tomcat服务器的配置文件
lib 用来存放Tomcat服务器的jar包
logs 用来存放Tomcat服务器运行时输出的日记信息
temp 存放临时数据
webapps 存放部署的web工程
work 是Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码,和Session钝化的目录
启动Tomcat
- 双击bin目录下的startup.bat启动
- cmd中cd到Tomcat的bin目录下,输入startup.bat或catalina run启动
停止Tomcat
- 把Tomcat服务器窗口放置最前,ctrl+c关闭
- 双击bin目录下的shutdown.bat关闭
web目录的介绍
Servlet简介
Servlet概念
- Servelt是javaEE规范之一,规范就是接口
- Servlet是javaweb三大组件之一,三大组件分别为servlet程序、Filter过滤器、Listener监听器
- Servlet是运行在服务器上的一个java程序。它可以接受客户端发送来的请求,并响应数据给客户端
Servlet—url地址如何定位到Servlet程序并访问
Servlet的生命周期
- 执行Servlet构造器方法
- 执行init初始化方法
- 执行service方法
- 执行destroy销毁方法
- 一二在第一次访问的时候创建Servlet程序会调用
- 三每次访问都会调用,四在web工程停止的时候调用
Servlet继承体系
ServletConfig类
理解
- ServletConfig类是Servlet程序的配置信息类
- Servlet程序和ServletConfig对象都是有Tomcat负责创建的
- Servlet程序默认是第一次访问的时候创建的,ServletConfig是每个Servlet程序创建时,就创建
一个对应的ServletConfig对象
作用
- 可以获取Servlet程序的别名servlet-name的值
- 获取初始化参数init-param
- 可以获取ServletContext对象
ServletContext类
理解
- ServletContext是一个接口,表示Servlet上下文对象
- 一个web工程,只有一个ServletContext对象实例
- ServletContext对象是一个域对象
- ServeltContest是在web工程部署启动的时候创建,在web工程停止的时候销毁
域对象
域对象?
可以像Map一个存取数据的对象,叫域对象
这里的域指的是存取数据的范围
存数据 | 取数据 | 删除数据 | |
---|---|---|---|
Map | put() | get() | remove() |
域对象 | setAttribute() | getAttribute() | removeAttribute() |
作用
- 获取web.xml中配置的上下文参数context-param
- 获取当前的工程路径
- 获取工程部署后在服务器硬盘上的绝对路径
- 像Map一样存取数据
HttpServletRequest类
作用:每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的HTTP协议信息解析好封装到Request对象中。然后传递到service方法(doGet和doPost)方法中给我们使用,我们可以通过HttpServletRequest对象,获取到所有请求的信息。
常用方法:
方法 | 作用 |
---|---|
getRequestURI() | 获取请求的资源路径 |
getRequestURL() | 获取统一的资源定位符(绝对路径) |
getRemoteHost() | 获取客户端ip地址 |
getHeader() | 获取请求头 |
getMethod() | 获取请求方式 |
getParameter | 获取请求参数 |
getParameterValues | 同上,多值情况 |
HttpServletResponse类
作用:HttpServletRespbise类和 HttpServietRequest类一样。每次请求进来,Tomcat服务器都会创建一个Response对象传递给servlet程序去使用。HttpServletRequest表示请求过来的信息,HttpServletResponse表示所有响应的信息,
我们如果需要设置返回给客户端的信息,都可以通过HttpServletResponse对象来进行设置。
两个输出流的说明
字节流 getOutputStream() 常用于下载(传递二进制数据)
字符流 getWriter() 常用于回传字符串
两个流只能使用一个
请求重定向
特点
- 浏览器地址栏会发生变化
- 两次请求
- 不能共享Request域中的数据
- 不能访问WEB-INF中的资源
- 可以访问工程外的资源