javaWeb核心技术第六篇之BootStrap
概述:
Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。
作用:
开发响应式的页面
响应式:就是一个网站能够兼容多个终端
节约开发成本,提高开发效率
入门:
下载BootStrap
www.bootcss.com 官网地址
模版
.导入BootStrap的css
.导入jquery的js(1.8+)
.导入BootStrap的js
.设置视口(支持移动设备)
<meta name="viewport" content="width=device-width, initial-scale=1">
.添加一个布局容器
通过div设置一个 class
方式1:class="container"
方式2:class="container-fluid"
核心:
全局CSS
设置全局 CSS 样式;基本的 HTML 元素均可以通过 class 设置样式并得到增强效果;还有先进的栅格系统。
媒体查询(了解)
默认有一些分辨率临界点的阀值
分辨率 屏幕大小
分辨率>=1200px 超大屏幕
<=分辨率< 中等屏幕
<=分辨率< 小屏幕
分辨率< 超小屏幕
栅格系统★
在不同分辨率的屏幕下展示不同的效果,根据不同的上网设备,栅格系统将屏幕分成一系列的行(row)和列(column),由行和列来创建页面布局,注意栅格系统必须放在布局容器内使用
行:
通过class = "row"来设置一行
列(最多将视口分为12列)
通过class属性来设置在不同屏幕是所占的列 n表示每格占的份数
col-lg-n 大屏 分辨率>=
col-md-n 中屏 <=分辨率<
col-sm-n 小屏 <=分辨率<992px
col-xs-n 超小屏 分辨率<768px 案例:
<div class="container">
<div class=" col-md-2 col-sm-3 hidden-xs" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
<div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;"></div>
</div> 响应式工具:
显示:
.visible-xs 超小屏可见
.visible-sm 小屏可见
.visible-md 中等屏幕可见
.visible-lg 大屏可见
隐藏:
.hidden-xs 超小屏时隐藏
.hidden-sm 小屏幕时隐藏
.hidden-md 中等屏幕时隐藏
.hidden-lg 大屏幕时隐藏
标题:
.h1 -- .h6
对齐方式:(文本)
.text-left 左对齐
.text-center居中
.text-right 右对齐
列表:
.list-unstyled 移除默认的列表样式
.list-inline 将所有列表项放置同一行
表格:bootstrap给表格添加了默认样式
.table 普通表格
.table-striped 条纹表格(IE8不支持)
.table-bordered 边框表格
.table-hover 带有鼠标悬停的表格
.table-condensed 紧缩表格
表单:
垂直表单:
内联表单:(将所有内容放在同一行)
水平表单:
按钮:★
.btn 为按钮添加基本样式
.btn-default 默认/标准按钮
.btn-primary 原始按钮样式(未被操作)
.btn-success 表示成功的动作
.btn-info 该样式可用于要弹出信息的按钮
图片:
.img-rounded 为图片添加圆角 (IE8 不支持)
.img-circle 将图片变为圆形 (IE8 不支持)
.img-responsive 图片响应式
组件
无数可复用的组件,包括字体图标、下拉菜单、导航、警告框、弹出框等更多功能。
下拉选:
导航条:
javaScript插件
jQuery 插件为 Bootstrap 的组件赋予了“生命”。可以简单地一次性引入所有插件,或者逐个引入到你的页面中。
图片轮播 综合案例: <!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title></title>
<link rel="stylesheet" href="css/bootstrap.css" />
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script>
$(function() {
$('.carousel').carousel({
interval:
})
});
</script>
</head> <body>
<div class="container">
<!--.topbar-->
<div class="row text-center">
<!--img1:中等屏幕时占4份,在小屏时占6份,在超小屏时占12份
img2:中等屏幕时占4份,在小屏时隐藏,在超小屏时占12份
超链接:中等屏幕时占4份,在小屏时占6份,在超小屏时占12份-->
<div class="col-md-4 col-sm-6">
<img src="img/logo2.png" />
</div>
<div class="col-md-4 hidden-sm">
<img src="img/header.jpg" />
</div>
<div class="col-md-4 col-sm-6 text-center" style="padding-top: 20px;">
<a href="#" class="btn btn-default">登录</a>
<a href="#" class="btn btn-default">登录</a>
<a href="#" class="btn btn-default">登录</a>
</div>
</div>
<!--.导航条-->
<div class="row">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">首页</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active">
<a href="#">手机数码 <span class="sr-only">(current)</span></a>
</li>
<li>
<a href="#">电脑办公</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li>
<a href="#">Action</a>
</li>
<li>
<a href="#">Another action</a>
</li>
<li>
<a href="#">Something else here</a>
</li>
<li role="separator" class="divider"></li>
<li>
<a href="#">Separated link</a>
</li>
<li role="separator" class="divider"></li>
<li>
<a href="#">One more separated link</a>
</li>
</ul>
</li>
</ul>
<form class="navbar-form navbar-right">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav> </div>
<!--.轮播图-->
<div class="row">
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="" class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to=""></li>
<li data-target="#carousel-example-generic" data-slide-to=""></li>
</ol> <!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<div class="item active">
<img src="./img/1.jpg" alt="...">
<div class="carousel-caption">
欢迎你...
</div>
</div>
<div class="item">
<img src="./img/2.jpg" alt="...">
<div class="carousel-caption">
</div>
</div>
<div class="item">
<img src="./img/3.jpg" alt="...">
<div class="carousel-caption">
</div>
</div>
</div> <!-- Controls -->
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
<!--.热门商品-->
<div class="row">
<div>
<span class="h2">热门商品</span><img src="img/title2.jpg" />
</div>
<!--下div:
左div:中等屏幕时占2份,小屏和超小屏隐藏
图片
右div:中等屏幕时占10份,小屏和超小屏占12份
middle div:中等屏幕时占6份,小屏和超小屏隐藏
图片
商品div:中等屏幕时占2份,小屏占4份,超小屏时占6份
图片 2个p标签-->
<div class="row">
<!--左div:中等屏幕时占2份,小屏和超小屏隐藏
图片-->
<div class="col-md-2 hidden-sm hidden-xs">
<img src="img/big01.jpg" width="100%" height="100%" />
</div>
<!--右div:中等屏幕时占10份,小屏和超小屏占12份
-->
<div class="col-md-10">
<!--middle div:中等屏幕时占6份,小屏和超小屏隐藏
图片-->
<div class="col-md-6 hidden-sm hidden-xs">
<img src="img/middle01.jpg" width="100%" height="180px" />
</div>
<!--商品div:中等屏幕时占2份,小屏占4份,超小屏时占6份
图片 2个p标签-->
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
</div>
</div>
</div>
<!--.图片-->
<div class="row">
<img src="img/ad.jpg" width="100%" />
</div>
<!--.热门商品-->
<div class="row">
<div>
<span class="h2">热门商品</span><img src="img/title2.jpg" />
</div>
<!--下div:
左div:中等屏幕时占2份,小屏和超小屏隐藏
图片
右div:中等屏幕时占10份,小屏和超小屏占12份
middle div:中等屏幕时占6份,小屏和超小屏隐藏
图片
商品div:中等屏幕时占2份,小屏占4份,超小屏时占6份
图片 2个p标签-->
<div class="row">
<!--左div:中等屏幕时占2份,小屏和超小屏隐藏
图片-->
<div class="col-md-2 hidden-sm hidden-xs">
<img src="img/big01.jpg" width="100%" height="100%" />
</div>
<!--右div:中等屏幕时占10份,小屏和超小屏占12份
-->
<div class="col-md-10">
<!--middle div:中等屏幕时占6份,小屏和超小屏隐藏
图片-->
<div class="col-md-6 hidden-sm hidden-xs">
<img src="img/middle01.jpg" width="100%" height="180px" />
</div>
<!--商品div:中等屏幕时占2份,小屏占4份,超小屏时占6份
图片 2个p标签-->
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
<div class="col-md-2 col-sm-4 col-xs-6 text-center">
<img src="img/small08.jpg" />
<p>妹子</p>
<p></p>
</div>
</div>
</div>
</div>
<!--.图片-->
<div class="row">
<img src="img/footer.jpg" width="100%" />
</div>
<!---->
<div class="row text-center">
<p>
<ol class="list-unstyled list-inline">
<li><a href="#">联系我们</a></li>
<li><a href="#">联系我们</a></li>
<li><a href="#">联系我们</a></li>
<li><a href="#">联系我们</a></li>
<li><a href="#">联系我们</a></li>
<li><a href="#">联系我们</a></li>
</ol>
</p>
<p>Copyright © - 版权所有</p>
</div>
</div>
</body> </html> 案例-将我们的项目发布出去
需求分析:
将我们编写好的(web项目)项目放到服务器上,这样以来用户就可以通过网络访问到我们的(web项目)项目了
技术分析:
web服务器
web项目
Http协议
//////////////////////////
http://localhost/webDemo/html/hello.html get ///////////////////
day33HTTP&Tomcat - Web服务器
- 概念:
- web资源:
"英文直译"网"的意思
资源:一切数据文件
web资源:通过网络可以访问到的资源,通常指的是一切放在服务器上的文件"
- web资源的分类:
- 静态的web资源:
" 内容是一成不变的"
- 动态的web资源:
" 内容有可能在不同的时间或者不同的人访问的时候会发生改变的"
- web技术分类
- 静态的web技术
" 例如: html css js ....."
- 动态的web技术
" 例如:servlet jsp"
- 软件的架构
- c/s架构(Client/Server 客户端/服务器)
" 例如:qq 迅雷 lol"
- b/s架构(Browser/Server 浏览器/服务器)
" 例如:京东 淘宝 "
- 区别
- c/s:需要客户下载客户端,页面比较炫,和服务器交互少,可以在客户端处理部分业务逻辑,可降低服务器的压力.需要维护客户端和服务器端
- b/s:只需要客户有一个浏览器,一切页面从服务器加载,和服务器交互频繁,由服务器处理业务逻辑,服务器压力较大.只需要维护服务器端.
- 通讯机制
- 基于http协议
- 浏览器发送给服务器的内容:请求(request)
- 服务器返回给浏览器的内容:响应(response)
- 注意:先有请求,后有响应,一次请求对应一次响应
- web服务器
- 作用:将我们编写好的网页发布出去,别人就可以通过网络访问
- 常见的web服务器
"名称 厂商 特点
Weblogic oracle 大型的收费的支持javaEE所有规范的web服务器(servlet和jsp)
websphere ibm 大型的收费的支持javaEE所有规范的web服务器(servlet和jsp)
tomcat apache 小型的免费的支持servlet和jsp规范的"web服务器""
- Tomcat服务器★ Tomcat如何优化?
: 优化连接配置.修改连接数,关闭客户端的dns查询(DNS查询需要占用网络,再获取对方ip的时候会消耗一定的时间)
: 优化jdk,扩大tomcat使用的内存,默认为128M
- 下载
- http://tomcat.apache.org/download-70.cgi
- core:
- zip:可以在window上运行的(我们今天使用)
- tar.gz:运行在linux上的
- 安装
- 解压缩即可
- 目录结构
- bin:存放可执行的文件
- ★conf:存放配置文件
- lib:存放的是tomcat运行时和项目运行时必须的jar包
- logs:存放的是日志文件(catalina.out)
- temp:存放临时文件(不用管)
- ★★webapps:存放要发布的web项目
- ★work:存放项目运行时产生的java文件和class文件
- 启动
" 双击 tomcat目录下/bin/startup.bat"
- 关闭
" 方式1:点 x
方式2:ctrl + c
(记住)方式3:双击 tomcat目录下/bin/shutdown.bat"
- 配置
- 常见问题
- 一闪而过
"查看JAVA_HOME是否配置正确"
- 端口占用: 可以修改Tomcat的端口号
"修改 tomcat目录下/conf/server.xml 大约70行
<Connector port="" protocol="HTTP/1.1"
connectionTimeout=""
redirectPort="" />
需要将 修改成其他的端口号
端口号:~
~:系统预留的端口号 一般不要使用 但是可以使用80端口
80端口是http协议的默认端口号,访问的时候可以不写端口号"
- 访问格式
- tomcat的访问路径(8080是tomcat的默认的端口号)
" http://localhost:8080"
- 格式:http://ip地址:端口号/项目名/资源?参数名称=值&参数名称=值
- web项目
- 目录结构:★
"myweb(目录名:项目名)
|
|---资源文件 html img css js
|---WEB-INF(目录:特点,通过浏览器直接访问不到)
| |
| |---lib(目录:项目运行的jar包)
| |---classes(目录:存放的class文件)
| |---web.xml(核心配置文件,在servlet2.5版本中必须有,serlvet3.0版本不是必须的)"
- 项目访问路径:
"http://localhost:80/myweb/1.html
协议://ip地址:端口/项目名称/资源"
- Tomcat和Eclipse整合
- Http协议:
- 协议:规定内容的传输的格式
- http协议:
"用来制定互联网上数据的传输格式"
- 包含:
- 浏览器发送给服务器的内容 请求
"规定请求数据的格式"
- 服务器返回给浏览器的内容 响应
"规定响应数据的格式"
- 请求的格式:
"请求行 请求头 请求体"
- 请求行:请求的第一行
- 格式:请求方式 请求资源 协议/版本
"例如: GET /day33/1.html HTTP/1.1"
- 请求方式:
"常见的两种 get和post
get请求:请求参数会在地址栏上显示,参数大小有限制,不安全
http://ip地址:端口号/项目名/资源?参数名称=值&参数名称=值
post请求:请求参数不在地址栏上显示,参数大小不受限制.较为安全
格式:
参数名称=值&参数名称=值"
- 请求头
- 格式: key/value的格式 (value可以为多个值的)
- 常见的请求头
- Accept: text/html,image/* --支持数据类型
- Accept-Charset: ISO-8859-1 --字符集
- Accept-Encoding: gzip --支持压缩
- Accept-Language:zh-cn --语言环境
- Host: www.baidu.cn:80 --访问主机
- If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT --缓存文件的最后修改时间
- Referer: http://www.baidu.com/index.jsp --来自哪个页面、防盗链
- User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
"扩展知识:
Trident内核代表产品Internet Explorer,又称其为IE内核
Gecko内核代表作品Mozilla FirefoxGecko,火狐
Chrome内核代表作品Chrome,谷歌"
- Cookie
- Connection: close/Keep-Alive --链接状态
- 重要的头:
- Referer User-Agent Cookie If-Modified-Since
- 请求体
"和请求头之间有一个空行
post请求的参数:只有表单提交的时候明确了method="post"这时候是post请求,其他的都是get请求
参数名称=值&参数名称=值
username=jack&password=1234"
- 响应的格式:
"响应行 响应头 响应体"
- 响应行:响应信息的第一行
- 格式:
- 协议/版本 响应的状态码 状态码说明
- 例如:
- HTTP/1.1 200 OK
- 状态码:
- 1xx :请求已发送
- 2xx :响应已完成
- 200:响应成功(请求成功)
- 3xx :需要浏览器进一步操作才可以完成
- 302:重定向(配合location头使用)
- 304:读缓存(Not Modified表示没有改变)
- 4xx :用户访问错误(Not Found 表示:路径写错了,你访问的路径不存在)
- 404:用户访问的资源不存在
- 5xx :服务器内部错误(其实就是代码有问题,改代码)
- 500:服务器内部异常
- 响应头
- 格式: key/value的格式 (value可以为多个值的)
- 常见的响应头
- Location: http://www.it315.org/index.jsp --跳转方向
- Server:apache tomcat --服务器型号
- Content-Encoding: gzip --数据压缩
- Content-Length: 80 --数据长度
- Content-Language: zh-cn --语言环境
- Content-Type: text/html; charset=GB2312 --数据类型(MIME类型) 大类型/小类型 text/css text/javascript image/jpeg image/bmp
- Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT --最后修改时间
- Refresh: 1;url=http://www.it315.org --定时刷新
- Content-Disposition: attachment; filename=aaa.zip --下载
- Set-Cookie:SS=Q0=5Lb_nQ; path=/search
- Expires: -1 --缓存
- Cache-Control: no-cache --缓存
- Pragma: no-cache --缓存
- Connection:Keep-Alive --连接
- 重点的头:
- Set-Cookie Location Content-Type Refresh Content-Disposition Last-Modified
- 响应体
"和响应头之间有一个空行,
浏览器解析的内容"
- servlet入门:
"本质上就是一个运行在服务器上的类"
- 作用:1.接受请求 2.调用Service 处理业务逻辑 3.生成响应结果
- 入门步骤:
- 1.编写一个类
- 必须实现Servlet接口
- 重写里面的方法
- 2.编写配置文件(项目下 web-inf/web.xml)
"注册servlet 绑定路径
<!-- 注册servlet
servlet-name:给servlet起个名称 名称自定义,保证唯一
servlet-class:serlvet的全限定名(包名+类名)
-->
<servlet>
<servlet-name>helloservlet</servlet-name>
<servlet-class>cn.baidu.demo.HelloServlet</servlet-class>
</servlet> <!-- 绑定路径
servlet-name:在servlet标签中给servlet起好的名称
url-pattern:路径 暂时都以"/"开头
-->
<servlet-mapping>
<servlet-name>helloservlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>"
- 3.测试
" localhost/项目名/绑定的路径
localhost/day33/hello" 在服务器中,为什么需要项目部署? 为了让网络通过服务器访问到项目 回顾:
tomcat服务器和Http协议:
web服务器:
概念:
web资源:
web资源分类:
静态的web资源:内容一层不变
动态的web资源:根据不同的人和不同的时间,可能会发生变化
web技术:
静态的web技术:html css js...
动态的web技术:Servlet jsp
结构:
B/S(浏览器/服务器):
C/S(客户端/服务器):
通讯机制:
基于HTTP协议
一次请求一次响应,先有请求后有响应
web服务器:
Tomcat:
下载:
安装:
目录结构:
bin:
conf:
webapps:
work:
启动:
bin/startup.bat
关闭:
X
ctrl + c
★ bin/shutdown.bat
访问:
协议://地址:端口/资源
web项目:
项目名称:
|-------html
|-------css
|-------js
|-------img
|-------WEB-INF
|-----------lib
|-----------classes
|-----------web.xml
http:
请求:浏览器发送给服务器的内容(request)
请求行
请求信息的第一行
请求方式 请求的资源 协议/版本 http/1.0 http/1.1
请求头
格式:
key/value (value可以为多个值)
请求体
当请求是post的时候,存放post请求所携带的参数
响应:服务器返回给浏览器的内容(response)
响应行
响应信息的第一行
协议/版本 状态码 说明
响应头
格式:
key/value (value可以为多个值)
响应体
浏览器解析的内容
////////////////////////////////////////////
servlet: 案例-使用servlet完成用户登录功能
需求分析:
用户在表单中填写完用户名和密码后,点击登录的时候,向服务器发送登录的请求,
在服务器上处理请求,处理完毕后将处理信息响应到页面
处理结果:
登录成功:欢迎...登录...
登录失败:用户名或密码错误
异常:当前功能正在维护....
技术分析:
html:表单
form
action:提交路径
method:提交方式
get
post
servlet:
request
response
////////////////
项目:
com.baidu.web
com.baidu.service
com.baidu.dao
com.baidu.domain
com.baidu.utils 导入jar包
导入工具类
javaWeb核心技术第六篇之BootStrap的更多相关文章
- javaweb回顾第六篇谈一谈Servlet线程安全问题
前言:前面说了很多关于Servlet的一些基础知识,这一篇主要说一下关于Servlet的线程安全问题. 1:多线程的Servlet模型 要想弄清Servlet线程安全我们必须先要明白Servlet实例 ...
- javaWeb核心技术第十一篇之Listener
监听器:所谓的监听器是指对整个WEB环境的监听,当被监视的对象发生改变时,立即调用相应的方法进行处理. 监听术语: 事件源:被监听的对象. 监听器对象:监听事件源的对象 注册或绑定:1和2结合的过程 ...
- javaWeb核心技术第四篇之Javascript第二篇事件和正则表达式
- 事件 - 表单提交(掌握) "onsubmit" - 单击事件(掌握) "onclick" - 页面加载成功事件(掌握) "onload" ...
- java核心技术第六篇之断言、日志、包装类型和工具类
JDK1.5新特性: 1.自动拆装箱. 2.泛型 3.可变参数 4.静态导入 5.增强for循环 6.互斥锁 7.枚举 8.注解 JDK1.6新特性: 1.Desktop类和SystemTray类 2 ...
- javaWeb核心技术第十三篇之Ajax
Js--ajax--原理解释 概述:异步刷新网页,不会刷新整个页面. Get原理: <%@ page language="java" contentType="te ...
- javaWeb核心技术第十篇之Filter
Web中有三大组件(需要配置web.xml) servlet:服务器端的小程序. Filter(过滤器):运行在服务器,对请求的资源进行过滤,对响应进行包装. 经典案例: 自动登录,网站全局编码,非法 ...
- javaWeb核心技术第八篇之Cookie和Session
会话技术: 会话是什么? 浏览器和服务器交互,浏览器打开网页访问服务器,会话开始,正常交互. 浏览器关闭,会话结束. 会话能干什么? 会话可以共享数据. Cookie和session将数据保存在不同的 ...
- javaWeb核心技术第七篇之HTTP、Tomcat、Servlet、Request和Response
- Web服务器 - 概念: - web资源: "英文直译"网"的意思 资源:一切数据文件 web资源:通过网络可以访问到的资源,通常指的是一切放在服务器上的文件&quo ...
- javaWeb核心技术第五篇之jQuery
- 概述 - jQuery是一个优秀的javascript框架(js类库),兼容css3和各大浏览器,提供dom,events,animate,ajax等简易的操作.并且jQuery有非常丰富的插件, ...
随机推荐
- [ASP.NET Core 3框架揭秘] 跨平台开发体验: Linux
如果想体验Linux环境下开发.NET Core应用,我们有多种选择.一种就是在一台物理机上安装原生的Linux,我们可以根据自身的喜好选择某种Linux Distribution,目前来说像RHEL ...
- View 的绘制过程
配合Activity 从启动到布局绘制的简单分析 阅读 基本概念介绍 Activity:一个 Activity 是一个应用程序组件,提供一个屏幕,用户可以用来交互. View:所有视图控件的基类 Vi ...
- Markdown的常用方法总结
1.标题 # 大标题 ## 副标题 ### 小标题 标准 2.强调 *斜体类型* **黑体字** 3.折叠 折叠长句 <details><summary>Boostnote是对 ...
- 提升代码幸福度,五个技巧减少js开发中的if else语句
壹 ❀ 引 在JavaScript开发中,条件判断语句的使用频率是极高的,而对于条件判断简单易读的if else应该都是大家的首选.可是代码写的久了,我们总是希望自己的代码看着能更为简洁规范(逼格更 ...
- IPFS学习-分布式哈希表DHT
Distributed Hash Tables(DHT) 分布式哈希表是一个分布式的键值对存储结构.在IPFS网络中,每一个节点都维护一个DHT的子集.当节点接受到一个请求.该节点要么直接回复,要么通 ...
- AoE 搭档 TensorFlow Lite ,让终端侧 AI 开发变得更加简单。
AoE( AI on Edge , https://github.com/didi/AoE ) 是滴滴近期开源的终端侧 AI 集成运行时环境 ( IRE ). 随着人工智能技术快速发展,近几年涌现出了 ...
- SSH框架之Spring+Struts2+Hibernate整合篇
回顾 -Hibernate框架 ORM: 对象关系映射.把数据库表和JavaBean通过映射的配置文件映射起来, 操作JavaBean对象,通过映射的配置文件生成SQL语句,自动执行.操作数据库. 1 ...
- angular cli http请求封装+拦截器配置+ 接口配置文件
内容:接口配置文件.http请求封装 .拦截器验证登录 1.接口配置文件 app.api.ts import { Component, OnInit } from '@angular/core'; / ...
- BlockStack常见词语
Browser: 用户用来浏览并使用基于 blockstack 网络开发的 app. CLI: Cli 工具用来管理个人的 blockstack id. blockstack.js (and othe ...
- 11G-使用跨平台增量备份减少可移动表空间的停机时间 XTTS (Doc ID 1389592.1)
11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 13895 ...