JavaWeb
一、概述
1.常见的体系结构:
C/S 客户端/服务器 Client/Server
优点:用户信息安全性较好;对网络带宽要求低。
B/S 浏览器/服务器 Browser/Server
优点:轻量级;安全性好
2.WEB资源
HTML:静态资源
JSP/Servlet:动态资源
URL:统一资源定位符
URI:统一资源标识符
协议名://域名:端口/路径
二、Tomcat
Web服务器
1.接受客户端请求,给客户做出响应。
把项目放到web服务器,再把web服务器放到网络上。
常见的Web服务器:JBoss;Weblogic;Tomcat
2.Tomcat主要实现了java EE 中的Servlet、jsp规范。同时提供了HTTP服务
welcome-file-list 默认访问界面
Srever starup Tomcat启动成功
localhost:8080 域名,Tomcat默认端口
localhost:8080/指定项目名/指定页面
三、JSP
是javaweb的动态资源
1.jsp的组成
HTML+JAVA脚本+JSP动态标签
2.JSP脚本
就是java代码片段
<% %> java语句
<%=...%> java表达式
<%!...%> java定义类成员
<%@ %> 指定当前页面的配置(编码格式,导包,语言)
3.生命周期
从创建到对象销毁的过程。
Init( ) --初始化的方法(程序运行时 初始化)
上下文(context):一个对象在产生初期需要使用的所有的参数集合。
Service( ) --处理请求,给出响应
Destroy( ) --销毁的方法(Tomcat结束时 销毁)
4.JSP编译过程
发出请求--JSP文件转化--Servlet文件--class文件--Servlet实例--返回响应
5.JSP注释
HTML注释在页面能看到
JSP注释在页面看不到
6.内置对象(隐式对象)
6.1.out 输出
6.2.page/pageContext 单独页面
setAttribute 设置属性
getAttribute 获得属性
6.3.request 请求
getRequestDispatcher("路径名").forward( request,response ) 转发
//将A页面的请求和响应 转发到B页面
getParameter( “name属性 ”) 获取参数,一个name对应一个值
getParameterValues("name参数") 一个name对应多个值
setCharacterEncoding("UTF-8") 设置请求的编码格式
除了form表单是post请求方式,其他都是get
6.4.response 响应
sendRedirect("路径名") 重定向
重定向 页面会指向跳转页面。
转发可以保存请求和响应,重定向不行
6.5.session 会话
就是一个连接,范围是 一次浏览器的访问中
6.6.application 全局
在Tomcat运行时出现,关闭后结束
四、jstl+EL
用于合并开发;不常用,基本淘汰
缺点:前后端过于耦合;
4.1.EL表达式
${ }
4.2.JSTL
<%@ taglib uri="http://java.sun.sum.com/jsp/jstl/core" prefix = "c" %>
forEach 循环标签
begin 开始 end 结束 step 步长 items
五、Servlet
业务处理
1.是用java编写的服务器程序。
其功能是交互式的浏览和修改数据,生成动态的Web内容。
2.狭义的Servlet是指java语言实现的一个接口,
广义的是指任何实现了Servlet接口的类。
3.Servlet接口定义了Servlet和Servlet容器(Tomcat服务器)之间的契约
1.Servlet生命周期
字符集设置
charset=utf-8
request.setCharacterEncoding("UTF-8")
六、开发模式
1.Model1
2.Model2
3.MVC设计模式
mondel 模型
javaBean:负责业务逻辑处理
View 视图
jsp、HTML
Controller 控制器
Servlet
4.三层架构
表示层:和用户打交道的,接受用户的请求参数,显示处理结果;
业务层:接受了界面层传递的数据,计算逻辑,调用数据库,获取数据;
数据访问层:访问数据库,执行数据的查询,修改,删除等;
4.1.三层架构对应的包名
表示层:Controller包(servlet) 控制器
业务层:service包
数据访问层:dao包 持久层(与数据库打交道)
4.2.开发思路
静态页面--数据库实体类--jar包--工具类--BassDao(数据库连接)
--DAO接口(实现的功能)--service接口--dao的实现类(测试)
--service的实现类(测试)--servlet(页面提供的数据)
七、Cookie
1.中文小甜点,小饼干的意思。
1.1.在HTTP中表示服务器送给客户端浏览器的小甜点,
其实就是一个键和一个值构成的。
1.2.随着服务器端的响应发送给客户端浏览器然后浏览器把Cookie保存起来,
当下一次访问服务器时把Cookie再发送给服务器
2.Cookie由服务器创建,由客户端保存。
3.常用方法
Cookie cookie = new Cookie(“键”,“值”);
cookie.setValue(值);
getName() 键名
getValue() 值
setMaxAge() 设置销毁时间
getMaxAge() 获取销毁时间
response.addCookie(cookie) 将cookie 保存到本地(客户端)
request.getCookies( ); 获取Cookie,返回一个数组
乱码解决
URLEncoder.encode("",“UTF-8”)
URLDecoder.decode("",“UTF-8”)
七、分页查询
步骤:
1.计算数据总数量;
2.确定每页显示的数据量;
3.计算总页数分几页;
4.确定当前第几页;
5.该页面的数据。