大数据基础 servlet 第一天
程序员文章站
2024-01-16 10:38:40
...
4/26/2018 8:21:47 AM
Servlet
晨测
1. DOM怎样添加、移动、复制、创建和查找节点
appendChild()
removeChild()
replaceChild()
createElement()
getElementById()
2. 列举几个JavaScript中常用的全局函数,并描述其作用?
3. 使用JS如何改变元素的样式?
style
className属性
4. 如何阻止事件冒泡和默认事件
stopPropagation()
cancelBubble
5. 什么是window对象?什么是document对象?
回顾
BOM
DOM
event
面向对象
自定义对象
语法格式:
function User(age,name){
this.age = age;
this.name = name;
this.toString = function(){函数体}
}
var user = new User(18,"张三");
alert(user.age);
user.toString();
Object对象
语法格式:var user = new Object();
user.age = 10;
user.name = "张三";
user.toString = function(){函数体}
alert(user.age);
user.toString();
JSON对象(重点)(AJax)
1.语法格式:构建对象
[] : 对象数组
{} :一个对象
属性:属性值(多个属性以逗号隔开)
2.允许嵌套:
{"key":
[{k:v,k:[],k:{}},{},{}]
}
var jsonObject = {"key":"value"};
例如:
var jsonObj = {"age":"18","name":"张三"}
var value = jsonObj.key;
例如:
var jsonObj = {
"age":18,
"name":"张三",
"girlFriends":[
{"name":"翠花","age":20,"boys":[{},{}]},
{}
]
}
手机:抖音APP(前端的程序) ---- 服务器(json/xml)
抖音web页面(前端的程序) ---- 服务器(json传输/xml配置文件)
今日概要Server Applet
一、动态网络编程的概念
二、Tomcat服务器搭建
三、Servlet组件介绍
一、动态网络编程的概念
动态网页:结合了HTML以外的高级程序编程语言和数据库技术生成的页面。
动态网页编程技术:
ASP,PHP,JSP
HTTP协议:规范浏览器和服务器之间通信的数据格式。
浏览器发送请求和服务器响应结果时的数据格式。
请求和响应模式:
用户通过浏览器发送HTTP请求至服务器
服务器(Tomcat)接受到请求后,解析请求数据(项目/资源),服务器查找部署的项目和具体的组件(Serlvet组件)处理请求
服务器封装响应结果数据包,通过网络将结果发送回浏览器
浏览器解析响应数据包(response body:结果),显示到浏览器上
二、搭建Tomcat
<1>步骤
1. 下载
2. 解压
3. 配置环境变量
JAVA_HOME JDK
4. 在eclipse中配置tomcat
window---preferences---server---runtime environment ---选择tomcat版本---管理tomcat
<2>Tomcat和Apache的区别
两个都是web服务器
Apache是普通的服务器,只支持普通网页
Tomcat是java应用的服务器,支持java项目
<3>HTTP的状态码
1XX:提示信息
2XX:成功
3XX:重定向
4XX:客户端错误
5XX:服务器端错误
200: 客户端请求成功
404: 资源不存在
500:服务器发生错误
三、Servlet组件
<0>概念
Servlet是运行在服务器上的java对象
处理客户端的请求和响应处理结果
<1>实现步骤
1. 创建一个java类,实现Servlet接口
(在实际的开发中,通常不会去实现接口,继承HttpServlet类)
2. 重写Servlet接口中的方法
service()
3. 在web.xml中进行配置Servlet
<servlet>
<servlet-name>servlet的别名</servlet-name>
<servlet-class>servlet的类全名</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet的别名</servlet-name>
<url-pattern>url中请求servlet的名称</url-pattern>
</servlet-mapping>
<2>url-pattern的配置方式
1. <url-pattern>/</url-pattern> 表示此/对应Servlet是缺省的Servlet(DefaultServlet)
客户端的所有访问都交给此Servlet处理,如果访问的资源不存在,则显示404页面
2. /servlet的url名称 , 例如:/myservlet ,完全匹配
3. /目录* ,例如:/a/b/c , 目录匹配
4. *.扩展名 ,例如:*.do , 扩展名匹配
<3>Servlet响应结果数据的乱码处理:HttpServletResponse
1. 响应的结果数据是纯本文数据:response.setCharacterEncoding("gbk");
设置当前响应结果的字符集
不设置会使用当前浏览器默认的字符集进行解码
2. 响应的结果数据是页面数据:response.setContentType("text/html;charset=utf-8");//在 创建流对象之前设置页面的编码
设置当前页面响应结果的字符集
<4>Servlet的生命周期
实例化Servlet---->初始化Servlet---->服务----->销毁----->回收
1. 实例化
第一次请求此Servlet
服务器启动时:在web.xml中配置<load-on-startup>num</load-on-startup>
num:Servlet被实例化的顺序,越小优先级越高
<servlet>
<servlet-name>myservlet4</servlet-name>
<servlet-class>cn.xdl.serlvet.MyServlet4</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
2. 初始化
实例化完毕之后,直接调用init方法对当前的Servlet进行初始化操作
init方法只执行一次
在此方法中获取Servlet中存储的配置参数
<servlet>
<init-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/db1</param-value>
</init-param>
</servlet>
3. 服务
重写service方法
重写doget/dopost方法
4. 销毁
调用destroy方法
服务器停止时
将当前的程序从服务器上移除
5. 回收
被GC回收
内存( 栈 堆 方法区)
GC回收 : 堆 ,方法区 (线程共享的区域)
Java对象引用:
6. Tomcat只维护一个相同的Servlet实例
作业
访问AnimalServlet ---->数据库中的宠物信息展示到前端页面
访问LoginServlet ---->验证用户的身份信息(连接数据库)
下一篇: matplotlib常用函数