HTML(HyperText Mark-up Language,超文本标记语言)
网页 页面 静态的展示形式
能够被浏览器识别解析
<a href ='www.sohu.com' target="_blank">超链接</a>
target:_blank 新窗口
_self 当前窗口
_parent 父窗口
framName 框架集名
<h1~h6>标题标签 数越小字越大
字体:<font size=“字号” face=“字体” color="颜色">...</font>
其中颜色可以用rgb(x,x,x)、#xxxxxx或颜色名称表示
<tr> 行
<td> 列
<form action="目标地址"method="get">
文本框<input type="text"name="abc">
密码<input type="password"name="aa">
单选按钮 男<input type="radio"name ="sex"value="M">
女<input type="radio"name ="sex"value="F">
复选框 爱好 足球<input type="checkbox"name="aihao" value ="football">
篮球<input type="checkbox"name="aihao" value ="basketball">
文件域<input type="file">
123123
隐藏域<input type="hidden">
123123
<input type="image" src="1.png">
<input type="button" value="普通按钮">
<input type="reset" value="重置">
提交按钮<input type="submit" value="提交">
<select>
<option value="XXX">hlj
<option value="XXX">hlj
</select>
</body>
页面跳转
href
action
colspan跨列
rowspan跨行
css 层叠样式单
1.浏览器样式
2.外部样式
3.内部样式 定义在head中的(style)
标签样式table{
background-image:url('img/zsf.jpg');
color:blue;
background-repeat:no-repeat;
}
类样式.ccc{color: red;}class="ccc"
id样式#idd{color: green;}id="idd"
层级div a {color:green;}div下的a标签应用当前
4.内联样式(行内样式)
HTML页面静态
jsp数据库将数据动态的显示在页面
IO流输出HTML信息
JSP(Java Server Page)Java服务器端页面
(servlet类)
B S
浏览器 服务器
查IP ipconfig/all
DNS域名解析系统
备案
http://ip:端口/项目
MVC三层架构
模型
Model 数据库操作
视图
View 视图展示
控制器
Cotroller 调用方法 以及对象
列表查询
showEmp.jsp
<from action ="showEmp.do">
用户名<input type="text" name ="ename">
<input type ="sun=bmit" valu="查询">
</from>
得到list集合 展示在页面上
<%
for()
%>
展示页面
更新
1.查询展示
2.真正更改
EL表达式express language
将attribute中的值显示在页面上
out.write();
<%=%>
更新操作
emp对象显示在页面上
<%Emp emp=(Emp)request.getAttribute("emp");%>
get 方法后的前两个字符是大写el表达式需要大写除此之外都是
toEl.jsp a标签--》servlet
jSTL jap standard tag lib
jsp 标准标签
c,核心标签
fn功能 标签
1.导入标签
<%@taglib prefix="标签名" uri="http://java.sun.com/jsp/jstl/core"%>
2.使用标签
<c:forEach items="${集合或数组}"var="临时变量">
${临时变量.xx}
</c:forEach>
<c:if test="${判断条件}">
</c:if>
fn标签
1.导入标签
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
2.${fn:方法(attribute中的key)}
${fn:length(ee.ename)}
${fn:substring(ee.ename,0,2)}
${fn:contains(ee.ename,"abc")}
request作用域 单次请求 .setAttribute();
session作用域 整个浏览器
application 应用及别
pageContext 当前页面
pv page view 页面访问量
session对象每个浏览器对应一个session对象
存在于服务器的session集合中(Map集合)
生命周期
浏览器第一次访问服务器时创建一个session对象
销毁 操作时间间隔超过最大间隔(默认30分钟)
常见方法:
getID();session对象的标识
getMaxInactiveInterval();获取最大失效间隔
getCreationTime();创建时间
getLastAccessedTime();最后访问时间
session.invalidate();//直接让session失效
cookie 记录信息在客户端(浏览器)
request 在服务器中
session 在服务器中
application 在服务器中
cookie 以键值形式存储数据
Key(String)Value(String)
Cookie c=new Cookie("key","value");
1.1短连接 长连接
index.jsp
重复提交问题
解决 令牌机制
弹层 js jQuery 浏览器
servlet 产生口令
request.setAttribute(天王盖地虎);
session.setAttribute(天王盖地虎);
resource.jsp Servlet
${xxx}
<input value=${xxx}> //先匹配
匹配后马上换口令
天王盖地虎111
1.js脚本
2.服务端的 令牌
request.setAttribute("ee", "a");
session.setAttribute("ee", "b");
application.setAttribute("ee", "c");
${ee} a
取值顺序 从小到大
如果就想取session的 ${sessionScope.ee}
${applicationScope.ee}
${requestScope.ee}
Filter过滤器
登录页面 主页面 新增操作员
知道了你的servlet 的地址不登录也能使用
对于系统来讲你是非法用户
如果是非法用户踢到登录页面
拦截非法的jsp访问
<%@include file="checklogin.jsp" %>
servlet
liangpai.do
Filter过滤请求
在servlet 执行之前 先执行Filter过滤器
Filter配置方法
1.类实现Filter接口重写doFilter方法
2.webl.xml中配置
统计在线人数
登录+1
退出-1 session清空 user对象 session.removeAttribute("user");
如果session销毁
监听器 监控 session对象的销毁 创建以及attribute的修改
1.创建销毁 HttpSessionListener
ServletRequestListener
2.操作型 添加attribute删除更改