第二章:
1: web 俗称 : 万维网 www
2: web开发 的三大核心:
HTML(网页) ,URL(定位),HTTP:(协议)
页面的分类:
静态页面: html+css
动态页面:jsp(java), asp(VB) .net(c#) php(电子商务)
URL:
URL:同一资源定位器,用来定位web中的某个资源。
URI:通用资源表示符, 不仅可以定位资源,还可以确定资源的位置(url是uri的组成之一)。
提交方式:
Get: http://abc:5236/yyg/myslvet?uname=”姜小白”&age=30&.......
传输速度快,数据会显示在url中,不安全;传输数据量小,一般为1024字节
Post: 如果是form表单, ajax异步处理(可以指定 get/post提交数据);
传输速度慢;数据已包的形式传输,安全,数据传输量大,一般为2M;
3:B/S 和 C/S
B/S: 浏览器 服务器,易于维护,成本低,分布式强
C/S: 客户端服务器,交互性强,维护困难,响应快 处理数据量大
4 http协议
俗称:超文本传输协议
特点:无状态---不能记住客户端请求的数据。
5 状态码:
200 ---成功
404---请求的url错误
500---服务器内部错误
6 服务器:Tomcat jbos, weblogic…
Tomcat:目录结构 及作用…
7 web程序的结构
使用MyEclipse 工具开发web工程
Web项目结构:
Src—程序的包和java源文件。
webRoot----前端的所有内容(图片 css样式+js,jsp ,html, jar包,xml配置文件);
第三章 servlet基础
1: 什么是servlet
Servlet 是由java编写的 java源文件。运行在服务器端,
用于 接收用户请求并且动态像客户端响应数据。
2:servlet的生命周期:
五个阶段 3个方法
加载实例化:执行构造方法
初始化:执行init()方法
服务:执行service()方法,依据用户的请求决定执行 doGet 或者 doPost
销毁:执行 destroy()方法
不可用:由系统自动回收无用内存
说明:如果第一次访问servlet, 执行顺序:
请求---》 加载---》初始化—》服务---》响应---》页面显示取出的数据。
第二次 以后访问,直接执行服务阶段
当程序结束时,执行销毁。
3:如何使用servlet
3.1 定义类继承HttpServlet抽象类
3.2 重写两个方法
doGet()----客户端以get方法发送的请求
doPost()----客户端以post方法发送的请求
3.3 在web.xml中配置Servlet
<!—声明--> <servlet> <!—指定一个名词,供内部使用--> <servlet-name>us</servlet-name> <!—指定servlet的路径 包名.类名--> <servlet-class>com.dkt.servlet.UserServlet</servlet-class> </servlet> <!—映射 对外提供访问路径--> <servlet-mapping> <!—匹配内部名词--> <servlet-name>us</servlet-name> <!—匹配外部的访问路径 必须以’/’开头 在路径中访问时不能要‘/’--> <url-pattern>/servlet/UserServlet</url-pattern> </servlet-mapping> |
4 servlet 接收数据
接收表单或者 get方式 的请求,传递的数据 String name = request.getParameter(“表单元素的name属性/get方式的参数名词”); 获取多个值: String[] hoppys = request.getParameterValues(“hoppy”); |
5 乱码:
//针对post 请求提交的数据 request. setCharacterEncoding("utf-8"); //针对get方式提交的中文数据 乱码处理 new String(str.getBytes("ISO-8859-1"), "utf-8"); |
6 响应:
创建响应输出流对象: PrintWriter out = response.getWriter(); Out.print(“响应的内容”); |
响应的乱码处理: response. setCharacterEncoding("utf-8"); 响应页面的乱码处理: Response.setContentType(“text/html;charset=utf-8”); |
第四章 Servlet编程
1 页面的跳转技术
请求转发(内部跳转)
特点:请求一次,地址栏不会发生变化
语法:request.getRequestDispatcher("跳转的页面路径").forward("请求", "响应");
常用的语法:
RequestDispatcher rds = request.getRequestDispatcher("跳转路径"); //获取转发器 request.getParameter(""); //获取表单 或者 url的参数值 request.getParameterValues(""); //获取多个数据,得到一个String[]
request.setAttribute("键", "值"); //存值 request.getAttribute("键"); //取值 request.getSession(); //得到会话对象 request.setCharacterEncoding("编码格式"); //处理编码格式 |
重定向(外部跳转):
特点:请求多次,地址栏要发生改变
语法:response.sendRedirect("跳转路径");
常用的语法:
response.getWriter(); //输出 response.sendRedirect("跳转路径"); response.setContentType("输出文档内容格式"); response.setCharacterEncoding("编码格式"); //处理响应的编码格式 ......... |
2 会话
什么是会话:
客户端发出一次请求,服务器响应客户端。这样的一个过程 称为 会话;
什么是会话跟踪
服务器向客户端分配一个唯一的ID标识,用于记录客户端
常用的会话技术
Session 追踪, Cookie追踪 URL重写 隐藏域追踪
Session会话技术
创建session
httpSession session = request.getSession(); //设置session的失效时间 单位秒 session.setMaxInactiveInterval(10);
//清楚session中的值 session.removeAttribute("uname");
//退出 销毁session session.invalidate(); |
第五章 jsp基础
1 什么是jsp
Jsp(java+ server +pages)---运行在服务器上的页面,服务器执行jsp生成html返回到浏览器中显示。
Jsp:html+java代码 (页面嵌入的java代码可以在服务器上运行);
2.为什么使用jsp
相对于servlet而言
Jsp可以在页面嵌入java代码,页面显示更简单,添加样式 或者美化界面更简单。Jsp 对于View层更直观操作更简单
Servlet 必须使用out.println()方法响应页面。
3 .jsp的执行特点
第一次访问:
将jsp文件所有的jsp引擎转换为servlet源文件(.java)
===>将源文件编译成字节码文件(.class)
===> 执行字节码文件
===>向客户端响应生成的静态页面内容。
注意:这也是 问什么我们第一次访问 jsp页面比较慢的原因。
4.Jsp页面的组成:
HTML |
静态页面 |
<% %> |
Java脚本 可以在脚本中写java代码 |
<%= %> 表达式 |
输出数据,类似于servlet 中的out.println() |
<%! %> 声明 |
定义变量或者方法 |
<%@ %>指令 |
page 指令: import : 导入包 pageEncoding:设置编码格式 errorPage : 指定错误页面
include:指定包含的页面。 |
注释: |
<!-- 注释 一 --> <%-- 注释 四 --%> /* 注释 二 */ // 注释 三 |
第六章: 页面作用域
Jsp页面的内置对象:
在jsp页面中不需要创建,有web服务器提供的对象,可以直接使用。
内置对象的分类:
输入输出:out request response
作用域: page request session application
作用域的通信对象: pageContent request session application eg:${request.usernae}
其它:config page exception
说明:config用于 在xml文件中通过名称获取参数信息
参数值为:<%= config.getInitParameter(“DemoServlet”) %>
服务器内部异常使用:<%= exception.getMessage()%>