servlet-ajax-jquery笔记

上传人:ji****en 文档编号:107674491 上传时间:2019-10-20 格式:PDF 页数:39 大小:429.35KB
返回 下载 相关 举报
servlet-ajax-jquery笔记_第1页
第1页 / 共39页
servlet-ajax-jquery笔记_第2页
第2页 / 共39页
servlet-ajax-jquery笔记_第3页
第3页 / 共39页
servlet-ajax-jquery笔记_第4页
第4页 / 共39页
servlet-ajax-jquery笔记_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《servlet-ajax-jquery笔记》由会员分享,可在线阅读,更多相关《servlet-ajax-jquery笔记(39页珍藏版)》请在金锄头文库上搜索。

1、=day01= 1、什么是 servlet? sun(oracle)公司制订的一种用来扩展 web 服务器功能的组件规范。 (1)扩展 web 服务器功能 大多数的 web 服务器(apache http server, iis 等)只能够处理静态 资源的请求(即需要事先将 html 文件写 好),不能够处理动态资源的请求(即需要 依据请求参数进行计算,然后生成相应 的页面)。 早期,使用 cgi 程序来扩展 web 服务器功能。 cgi(common gateway interface 通用网关接口),可以使用 c,perl 等语言 来开发符合 cgi 规范的程序。 因为 cgi 程序开发比

2、较复杂,可移值 性不好,性能不好,所以,现在用得不多了。 可以使用 servlet 来扩展 web 服务器 功能。 (2)组件规范 a,组件是什么? 符合一定规范,并且实现部分功能的 软件模块。 b,容器是什么? 符合一定规范,提供组件运行环境的 程序。 2、如何开发一个 servlet? step1,写一个 java 类,实现 Servlet 接口或者继承 HttpServlet 抽象类。 step2,编译。 step3,打包。 建立一个具有如下结构的文件夹。 appname WEB-INF classes(放.class 文件) lib(放.jar 文件,可选) web.xml(描述文件)

3、 step4,部署 将 step3 创建的文件夹拷贝到 servlet 容器特定的文件夹下面。 注意:也可以将 step3 创建的文件夹 使用 jar 命令进行压缩(压缩文件必须以 .war 为后缀)。 step5,访问 servlet 启动 servlet 容器,在浏览器地址栏 输入: http:/ ip:port/appname/servlet-url http:/localhost:8088/firstweb/sayHello 3、tomcat 的安装与简单使用 tomcat 是一个 servlet 容器,同时,也 是一个简单的 web 服务器。 (1)安装 step1,解压 /opt/

4、apache-tomcat5.5.23.tar.gz /home/soft01 step2,配置环境变量 JAVA_HOME:jdk 安装的路径 step3,启动 tomcat cd /home/soft01/apache5.5/bin sh startup.sh (sh catalina.sh run) step4,打开浏览器,输入 http:/localhost:8080 step5,关闭 tomcat sh shutdown.sh 4、使用 myeclipse 开发一个简单的 servlet step1,配置 myeclipse,让 myclipse 可以 管理 tomcat。 step

5、2,创建一个 web 工程。 5 servlet 的运行 1)浏览器依据 ip,port 建立与 servlet 容器之间的连接 2)浏览器将请求数据打包(生成请求数据包)并发送给容器 3)容器拆包(解析请求数据包),将解析的结果封装到 request 对象上,同时,容器还会创建一 个 responsr 对象。 4)容器依据请求资源路径找到 servlet 的配置信息,然后创建该 servlet 对象。 5)容器调用servlet的service方法 (会将事先创建好的request, response作为参数传递进来) 。 6)servlet 方法里进行业务逻辑的处理, 可以调用 resvl

6、et 会得请求参数, 也可以将出路结果写 到 response。 7)容器从 response 对象昂上获取处理结果,然后打包(相应数据包)发送给浏览器 8)浏览器解析相应生成相应的界面 练习: 写一个 servlet,输出当前的系统日期。 http:/ip:port/web01lab/date 会输出 2014-02-11 =dayo2= 1,常见错误及解决方式 (1)404 1)含义:服务器依据请求资源路径,找不到对应的 资源。 2)错误原因: a,请求资源路径写错。 b,servlet-name 写错。 c,忘记部署。 3)解决方式: a,按照 http:/ip:port/appname

7、/servlet-url 来检查请求资源路径。 b,检查 web.xml 配置文件,注意 servlet-name 的配置。 注: 404 是一个状态码(是一个三位数字,由 w3c 定义,表示 服务器处理请求的一种状态)。 (2)405 1)含义: 找不到处理方法。 2)错误原因: service 方法没有按照标准的格式来写。 3)解决方式: 仔细检查 service 方法的签名。 (3)500 1)含义: 系统错误 2)错误原因: a,类名写错 b,程序运行出错。 3)解决方式: a,检查 web.xml 配置文件,检查 b,检查程序源代码: 比如检查程序有没有对用户输入的参数进行 合法性检

8、查,程序运行过程当中,依赖的一些资源 (数据库等)有没有发生异常。 2,http 协议(了解) (1)什么是 http 协议? 由 w3c 制订一种网络应用层协议,制订了浏览器 和 web 服务器之间如何通信以及通信过程当中所使用 的数据格式。 1)如何通信 step1,建立连接 step2,浏览器打包请求数据并发送 step3,服务器打包响应数据并发送 step4,服务器立即关闭连接 如果浏览器要再次发送请求,必须重新建立一个 新的连接。即“一次请求,一次连接” 。 优点:服务器可以利用有限的连接为尽可能多的 客户端(浏览器)服务。 缺点:状态无法管理(后面会讲)。 2)数据格式 a,请求数

9、据包 请求行: 请求方式 请求资源路径 协议类型和版本 消息头:是一些键值对,由 w3c 定义,表示一些 特定的含义,比如浏览器可以发送“User-Agent“ 消息头告诉 web 服务器,浏览器的类型和版本。 实体内容:如果发送的是 get 请求,实体内容没有 任何数据。只有发送 post 请求,才会有数据( 请求参数)。 b,响应数据包 状态行:协议类型的版本 状态码 状态描述 常见的状态码: 200: 正常 404: 500: 消息头:服务器也可以发送一些消息头给浏览器, 比如“content-type“,告诉浏览器服务器返 回的数据类型。 实体内容:程序处理的结果。 (2)两种请求方式

10、(get/post) 1)哪一些情况下,浏览器发送 get 请求? a,直接输入访问地址 b,点击链接 c,表单默认的提交方式 2)get 请求的特点 a,将请求参数添加到请求行,只能提交少量的 数据(因为请求行只能存放大约 2k 左右的数据)。 b,会将请求参数显示在浏览器地址栏,很不安全 (比如,路由器就会记录请求地址) 3)哪一些情况下,浏览器发送 post 请求? a,设置表单的 method 属性值为“post“。 4)post 请求的特点 a,将请求参数添加到实体内容里面,可以提交 大量的数据。 b,不会将请求参数显示在浏览器地址栏,相对 安全(不会加密)。 3、servlet 输

11、出中文要注意什么问题? (1)编码知识: a,java 语言在内存当中,使用 unicode 字符集来保存 字符。 b,编码: 将 unicode 字符集对应的字节数组转换成 某种本地字符集(gbk,utf-8 等)对应的字节数组。 c,解码:将某种本地字符集(gbk,utf-8 等)对应的字 节数组转换成 unicode 字符集对应的字节数组。 (2)产生乱码问题的原因? out 在输出时,默认会使用“iso-8859-1“来进行编码。 (3) 解决方式 response.setContentType(“text/html;charset=utf-8“); 4、表单的使用 (1)如何获得请求

12、参数值? 1)String request.getParameter(String paramName); 注意: a,参数名(paramName)不能写错,否则会返回 null。 b,注意检查参数值是否为“。 2)String request.getParameterValues( String paramName); a,当有多个参数名相同,使用该方法。 (2)中文参数值如何读取? 1)乱码产生的原因 当提交表单时,浏览器会对表单中的中文参数 进行编码(会使用打开表单所在的页面的字符集, 比如“utf-8“)。 服务器端默认情况下,会使用“iso-8859-1“去 解码。 2)解决方式 a

13、,方式一 step1,保证表单所在的页面按照指定的字符 集打开。 比如,对于 html 文件,应该要添加上 step2,服务器端按照指定的字符集解码 request.setCharacterEncoding(“utf-8“); 注: 该方法只针对 post 请求有效 b,方式二: step1,同上。 step2, new String( username.getBytes(“iso-8859-1“), “utf-8“); 5,mysql 的简单使用 (1)登录 mysql /使用 root 用户来登录 mysql mysql -uroot; (2)查看当前有哪些数据库 show databas

14、es; (3)创建一个新的数据库 /创建一个数据库(jsd1312db)并且 /设置缺省的字符集是 utf-8 create database jsd1312db default character set utf8; (4)使用某个数据库 use jsd1312db; (5)查看当前数据库有哪些表 show tables; (6)建表 create table t_emp( id int primary key auto_increment, name varchar(50), salary double, age int )type=innodb; auto_increment:自增长列,

15、插入记录时,数据库 会自动为该列赋一个唯一的值(在该列原有值的 基础上加)。 type=innodb: 让该表支持事务。 =dayo3= 1、servlet 使用 jdbc 访问数据库 step1,将 jdbc 驱动(.jar 文件)拷贝到 WEB-INFlib 下。 step2,在 servlet 类里面编写 jdbc 代码访问数据库, 需要注意异常的处理。 http:/192.168.173.64:8080/web03/list 练习: 写一个 ListEmpServlet,以表格的方式显示所有员工 信息(id,name,salary,age)。 2、重定向 (1)什么是重定向? 服务器通

16、知浏览器向一个新的地址发请求。 服务器一般是通过发送一个 302 状态码和一个 Location 消息头(值是一个地址,称为重定向地址),浏览器 收到之后,会立即向重定向地址发请求。 (2)如何重定向? response.sendRedirect(String url); (3)需要注意的问题 a,重定向之前,容器会先清空 response 对象上 缓存的数据。 b,重定向之前,不能够调用 out.close(),out.flush(); (4)特点 a,重定向的地址是任意的。 b,重定向之后,浏览器地址栏的地址会变。 练习: 完成删除某个指定员工的功能。 3、dao(data access object) (1)dao 是什么? 封装了数据访问逻辑的模块。 (2)如何写一个 dao? step1,实体类 ste

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号