黑马程序员技术交流社区
标题:
【石家庄校区】JavaWeb阶段Day13,14
[打印本页]
作者:
lovemiya
时间:
2018-5-21 16:17
标题:
【石家庄校区】JavaWeb阶段Day13,14
本帖最后由 小石姐姐 于 2018-5-23 14:54 编辑
Tomcat&Servlet
Tomcat的目录结构
Tomcat/conf:
Tomcat/webapps:
Tomcat/logs:
Tomcat/bin:
发布一个web项目到服务器的方式
复制项目到webapps目录下
在conf/Catalina/localhost/xxx.xml,配置<Context docBase=""/>
Tomcat常见问题
没有配置JAVA_HOME引发tomcat一闪消失
端口号冲突
Servlet
HTTP协议
HTTP协议的作用
规范浏览器和服务器之间的数据传输
HTTP协议的特点
基于请求和响应的模型
必须先有请求后有响应
请求和响应必须成对出现
默认的端口号是80.
HTTP协议的版本
1.0:每次响应后即可关闭连接
1.1:不是每次响应后挂断,等待长时间以后没有请求会挂断.
HTTP协议的详解
请求部分
请求行
提交方式:
常用的GET和POST
区别
GET提交的参数会显示到地址栏上,请求头地址的后面,POST的参数在请求体中
GET有大小限制,POST没有
GET没有请求体,POST有请求体
提交路径:
协议版本
请求头
都是键值对的形式,一个key对应一个或多个value
User-Agent:代表浏览器的类型
Referer:代表网页的来源,防盗链
请求体
响应部分
响应行
协议版本
状态码
200:成功
302:重定向
304:查找本地缓存
404:资源不存在
500:服务器内部错误,代码写错了
状态码描述
响应头:键值对
Content-Dispostion:文件下载
Location:重定向的跳转路径
Refresh:定时刷新/定时跳转
响应体:显示浏览器的页面内容
Servlet概述
Servlet的作用
用来处理从客户端浏览器发送的请求,并且可以对请求做出相应
使用方式
编写一个类实现Servlet接口
将编写的类配置到服务器中
<!-- 配置Servlet -->
<servlet>
<!-- Servlet的名称 -->
<servlet-name>test1</servlet-name>
<!-- SErvlet的全路径 -->
<servlet-class>com.itheima.a_servlet.ServletDemo1</servlet-class>
</servlet>
<!-- Servlet的映射 -->
<servlet-mapping>
<!-- Servlet的名称 -->
<servlet-name>test1</servlet-name>
<!-- Servlet的访问路径 -->
<url-pattern>/ServletDemo1</url-pattern>
</servlet-mapping>
访问
http://localhost:8080/day13/ServletDemo1
使用ServletRequest接受参数
String request.getParameter(String name);---用于接收一个名称对应的一个值得数据
String[] request.getParameterValues(String name);---用于接收一个名称对应的对个值得数据
Map<String,String[]> request.getParameterMap();---用于接受表单中所有数据
Servlet的生命周期
生命周期:一个对象从创建到销毁的过程
创建:用户第一次访问Servlet创建Servlet的实例
销毁: 当项目从服务器中移除的时候,或者关闭服务器的时候.
面试点:
用户第一次访问Servlet的时候,服务器会创建一个Servlet的实例,那么Servlet中init方法就会执行.任何一次请求服务器都会创建一个新的线程访问Servlet中的service的方法.在service方法内部根据请求的方式不同调用doXXX方法.当Servlet中服务器中移除掉或关闭服务器,Servlet实例就会被销毁,那么destroy方法就会执行.债整个过程中Servlet是单例的.
启动时创建Servlet
Servlet默认是在第一次访问的时候创建的.
在web.xml中在<servlet></servlet>标签中配置:
<load-on-startup>2</load-on-startup>
url-pattern的配置
url-pattern的配置方式有三种:
完全路径:以/开始
http://ip:port/projectName/aaa
. 目录匹配:以/开始,以
结束
http://ip:port/projectName/aaa
. 扩展名匹配:以*开头
http://ip:port/projectName/safsdfsdfs.do
完全路径>目录>扩展名
response
设置响应头
setHeader(Stringname,String value); ---针对一个key对应一个value的响应头.
setDateHeader(String name,long date);
setIntHeader(String name,int value);
ServletContext对象
用来存取数据,是域对象
setAttribute(String name, Object object)
getAttribute(String name)
removeAttribute(String name)
作用范围:整个web工程
创建:服务器启动的时候Tomcat服务器为每个web项目创建一个单独的ServletContext对象
销毁:服务器关闭的时候,或者项目从服务器中移除的时候
ServletConfig
getInitParameter(String name):获得Servlet在web.xml中配置的name的值
getInitParameterNames():获得Servlet的初始化参数
getServletContext(): 获得所有Servlet的初始化参数的名
getServletName()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2