- 浏览: 434750 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
springaop_springmvc:
apache lucene开源框架demo使用实例教程源代码下 ...
Java搜索工具——Lucene实例总结(一) -
chengang292214:
总结的不错
Web开发中的路径问题 -
liuyuanhui0301:
aka~
Java 归并排序(基于数组) -
IT人_:
不错
远程连接MySQL,防火墙阻止访问,解决办法 -
zhuchao_ko:
借鉴。
JNDI访问LDAP
1. HTML 是静态的,JSP是动态的,交互式的,而且可由用户定制。
2. 服务器:可能是物理主机(硬件),也可能是Web服务器应用(软件)。
客户:指人类用户,或浏览器应用。
Web客户允许用户请求服务器上的某个资源,并且向用户显示请求结果。
3. 服务器和客户的通信
服务器和客户之间对话的共同的语言是HTTP。
服务器使用HTTP向客户发送信息。
4. HTTP
请求:HTTP方法(Get、Post),要访问的页面,表单参数。
响应:状态码,内容类型(文本、图片、HTML等),内容(具体的HTML、图片等)。
5. HTTP请求:Get请求和Post请求
Get请求:资源的路径URL以及所有参数都会包括在”请求行”中。
请求行: GET /select/selectBeer.jsp?color=dark&taste=malty HTTP/1.1
请求首部:Host: www.wickedlysmart.com
User-Agent: Mozilla/5.0……
Accept: text/html,application/xml,application./xhtml+xml,
text/html;q=0.9
Accept-Language: en-us, en;q=0.5
Accept-Encoding: gizp,deflate
Accept-Charset: ISO-8859-1,utf;q=0.7,*;q=0.7
Keep-Alive:300
Connection: keep-alive
GET请求,没有体,参数只能放在请求行中,并且会显示在浏览器的输入地址中,不够安全。
POST请求:又称为“消息体”或“有效负载”,放在消息体中,长度不受限制。
请求行:POST /advisor/selectBeer.do HTTP/1.1
请求首部:同上
消息体:(空行)color=dark&taste=malty
简单的超链接默认是GET方法,如:<a href=”http://www.baidu.com”>link</a>
Form表单默认也是GET方法。
GET、HEAD、PUT是幂等的(注:GET和doGet()不同,GET方法是HTTP的,doGet()是Servlet的);POST不是幂等的。
6. HTTP响应
包括响应首部和体
首部告诉浏览器使用的协议,请求是否成功,以及体中放入内容是什么类型
HTTP/1.1 200 OK
Set-Cookie: jsessionID=adfiifeeni23499v99wernnwerr; Pat=/testEL
Content-Type: text/html(内容类型响应首部的值称为MIME类型,MIME类型告诉浏览器要接受的数据是什么类型,其值与HTTP请求首部中的Accept所列的值相关)
Content-Length:397
Date: Wed, 19 Nov 2003 03:25:40 GMT
Server: Apache-Coyote/1.1
Connection: close
体中包含了让浏览器显示的具体内容:
(空行)
<html>……</html>
7. URL(Uniform Resource Locators)
http://www.smart.com:80/beeradvice/select/beer1.html
协议 服务器 端口 路径 资源
FTP的端口是 31,Telnet:23,SMTP:25,Time:37,POP3:110,HTTPS:443
8. Web服务器不做的两件事情
a) 动态内容。Web服务器应用只提供静态页面,动态内容由Web服务器辅助应用(CGI)来完成。
b) 在服务器上保存数据。Web服务器把这些功能转给辅助应用进行处理。
9. Web容器
Web服务器(Apache)得到一个指向servlet的请求,服务器不是把这个请求直接交给servlet本身,而是交给Web容器(Tomcat),由Web容器调用servlet。
Web容器管理和运行servlet,容器知道自己与Web服务器之间的协议,Web容器控制者servlet的生命周期,容器会自动地为它接收每个servlet请求并创建一个新的线程,Web容器负责把JSP代发翻译成真正的Java代码。
利用配置文件(web.xml)将servlet部署到容器
一个完全兼容的J2EE应用服务器必须有一个Web容器和一个EJB容器
Tomcat是一个Web容器,而不是一个完整的j2ee应用服务器,因为Tomcat没有EJB容器。
10. JSP-Servlet执行流程
1) 浏览器把请求数据发送给容器
2) 容器根据URL找到正确的Servlet,并把请求传递给这个Servlet
3) Servlet调用辅助应用寻求帮助
4) 这个辅助应用返回一个回答,Servlet把这个回答增加到请求对象
5) Servlet把请求转发给JSP
6) JSP 从请求对象得到回答
7) JSP为容器生成一个页面
8) 容器把这个页面返回给客户
11. Servlet的生命周期
12. Servlet的属性和参数
a) 属性
有三种类型的属性,应用上下文(ServletContext)、请求(HttpRequest)和会话(HttpSession)。
设置方法: setAttribute(String name,Object value)
获取方法:getAttribute(String name), 返回类型是Object
上下文(ServletContext)属性不是线程安全的,因为每个Servlet都可以访问。让上下文属性线程安全的做法:
同步服务器方法(即对doGet()或doPost()方法添加synchronized)
同步服务器方法意味着servlet中一次只能运行一个线程,但是并不能阻止其它servlet或JSP访问这个属性。
同步上下文(即 synchronized(getServletContext()))
synchronized(getServletContext()){
getServletContext().setAttribute("foo", "22");
getServletContext().setAttribute("bar", "42");
}
会话属性:通常,一个客户同时只有一个请求,就算多个servlet能在单独的线程中访问会话属性,每个线程都是单独的请求,所以,这时会话属性是线程安全的。但是一个用户同时有多个请求时(用户同时打开多个浏览器去访问),会话属性是非线程安全的,通过同步HttpSession来达到线程安全。代码如下:
HttpSession session=request.getSession();
synchronized(session){
session.setAttribute("foo", "22");
session.setAttribute("bar", "42");
}
b) 参数
应用上下文初始化参数、请求参数、servlet初始化参数
设置方法:servlet初始化参数只能在DD中设置
获取方法:getInitParameter(String name)
13. Servlet接受提交的参数
a) 接受单个参数
String username=request.getParameter(“username”);
b) 接受多个参数
String [] parameters=request.getParameterValues(“sizes”);//sizes可以看做是表单中的复选框,如:
<form action=”**.do”>
<intput type=checkbox name=sizes value=”1”>1
<intput type=checkbox name=sizes value=”2”>2
<intput type=checkbox name=sizes value=”3”>3
<input type=”submit”>
</from>
14. ServletConfig和ServletContext
a) ServletConfig对象
每个servlet都有一个ServletConfig对象,用于向servlet传递部署信息。
在servlet初始化之前不能使用servlet初始化参数。
ServletConfig构建过程如下:
1) 容器读取当前servlet的DD(web.xml),包括servlet初始化参数(<init-param>)
2) 容器为这个servlet创建(new)一个新的ServletConfig实例
3) 容器为这个servlet初始化参数创建一个String 名/值对
4) 容器向ServletConfig提供名/值初始化参数的引用
5) 容器创建(new)serlvet类的实例
6) 容器调用servlet的init()方法,传入ServletConfig的引用
容器初始化一个servlet时,会为这个servlet创建一个唯一的ServletConfig,容器从DD中读出servlet初始化参数,并把这些参数交给ServletConfig,然后把ServletConfig传递给servlet的init()方法。
初始化参数:在web.xml配置文件中的<servlet>标签中
<init-param>
<param-name>adminEmail</param-name>
<param-value>zzq_rj@163.com</param-value>
</init-param>
在servlet中调用:getServletConfig().getInitParameter(“adminEmail”);
b) ServletContext对象
每个Web应用才有一个ServletContext,用于访问Web应用参数。Web应用中的各个servlet和JSP都能访问ServletContext。
初始化参数:在web.xml配置文件中的<web-app>标签中<servlet>标签外
<context-param>
<param-name>contextname1</param-name>
<param-value>contextvalue1</param-value>
</context-param>
在servlet中调用:getServletContext().getInitParameter(“adminEmail”);
或者 ServletContext context=getServletContext();
context.getInitParameter(“adminEmail”);
在JSP中调用:
15. 使用响应
通常,使用响应只是向客户发回数据,会调用两个方法:setContentType()和getWriter()。当然,还可以使用响应设置其它首部、发送错误以及增加cookie。
response.setContentType(“application/jar”);
完成I/O
ServletContext ctx=getServletContext();
InputStream is=ctx.getResourceAsStream(“/book.jar”);//必须以“/”开头,表示Web应用的根。
两种输出方式
字符形式:PrintWriter writer=response.getWriter();
writer.println(“some text and HTML”);
字节流形式: ServletOutputStream out=response.getOutputStream();
out.write(aByteArray);
发表评论
-
How tomcat works
2011-10-30 10:01 10851. Tomcat 模型:connector--------- ... -
jQuery Cookie插件
2011-10-06 10:49 0back>> cookie插件可以很 ... -
jQuery form表单插件
2011-10-06 10:45 1023back>> http://www.cnbl ... -
jQuery验证插件
2011-10-06 10:40 1420back>> 使用示例: <!DOCTY ... -
jQuery性能优化
2011-10-06 10:28 1699back>> 1. 优化选择器的执行速度 ... -
jQuery中工具函数
2011-10-06 10:06 5255back>> 工具函数的一般格式如下:$.函数名 ... -
ajax在jQuery中的应用
2011-10-06 09:50 1825back>> 1. 加载异步数据 ... -
jQuery动画与特效
2011-10-05 15:26 2247back>> 1. 显示与隐 ... -
jQuery事件
2011-10-05 15:08 2651back>> 1. 事件机制 ... -
Jquery Dom操作
2011-10-05 14:44 1651back>> 1. 元素属性操作 ... -
jQuery选择器
2011-10-05 09:04 2754back>> 1. 表格各 ... -
jQuery权威指南
2011-10-05 08:58 840jQuery权威指南 1. jQuery入门 2. ... -
Jquery入门
2011-09-28 14:41 11911. Jquery基本功能 * 访问和操作D ... -
comet pushlet
2011-08-12 17:49 21801.http://www.ibm.com/developerw ... -
Ajax开发
2011-07-25 21:50 15911. netbeans 中文版改成英文版 在NetBea ... -
CSS+DIV
2011-06-28 16:02 1146精通CSS+DIV网页样式与布局 曾顺 人民邮电出 ... -
jquery
2011-06-09 08:08 1007http://www.css888.com/ jQuer ... -
jsp乱码解决大全(转自csdn一高手)
2011-03-04 17:01 2226好文章, ... -
Unicode 控制字符
2011-03-03 11:44 3188<li> : &am ... -
URL中汉字乱码问题
2011-02-26 12:01 1601返回 Oak>> 服务器 ...
相关推荐
白色大气风格的建筑商业网站模板下载.rar
内容概要:本文详细介绍了面向对象编程语言Objective-C的基础语法,包括其历史背景、特点、环境搭建、基本语法、面向对象编程、高级特性和实际应用。具体涵盖的内容包括Objective-C的历史发展、面向对象编程的核心特性、变量和数据类型、控制结构、函数、数组和字典的使用,以及类、对象、属性和方法的定义与使用。此外,还介绍了高级特性如协议和委托、类别和扩展、ARC、块和GCD。最后,通过示例项目展示了如何在Xcode中创建和调试Objective-C程序,以及如何使用Cocoa和Cocoa Touch框架。 适合人群:具备一定的编程基础,希望学习或深入了解Objective-C编程的开发人员。 使用场景及目标:适用于需要开发macOS和iOS应用的开发者,帮助他们掌握Objective-C的基本语法和高级特性,提高编程效率和代码质量。 其他说明:本文不仅提供了详细的理论讲解,还通过实际代码示例展示了如何在Xcode中创建和调试Objective-C项目,适合初级到中级水平的开发人员学习和参考。
本次开发的微信小程球馆预约系统,有管理员,用户两个角色。管理员功能有个人中心,用户管理,场地类型管理,球馆信息管理,球馆预约管理,系统管理。用户可以在微信小程序上面注册登录,查看球馆信息,对球馆进行预约操作。 开发本程序后台用到了SSM开发技术,微信端用的是uni-app技术。数据库采用关系数据库市场占有率最高的MySQL作为本程序使用的数据库,完全符合程序使用并且有丰富的拓展余地。 用户在微信小程序注册登录后可以看到首页,首页可以搜索球馆名称,也可以查看球馆资讯,下面是导航栏。 用户点击球馆信息可以进行预约,预约需要输入相关时间等信息。 我的里面可以修改个人信息,可以退出,还可以查看球馆预约信息和我的收藏信息。
1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用KEIL 标准库开发,当前在STM32F030C8T6运行,如果是STM32F030其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH容量即可。 3、软件下载时,请注意keil选择项是jlink还是stlink。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、编译时请注意提示,请选择合适的编译器版本。
廖鹏盛 - 时代进行曲.zip
白色大气风格的人体艺术摄影网站模板下载.zip
白色大气风格的服装设计师模板下载.zip
白色大气风格的景观设计HTML网站模板.zip
优质的机器学习资源是当今科技领域的热点,其中TensorFlow作为谷歌公司的开源库,成为最受欢迎的深度学习框架之一,广泛应用于各类项目中。TensorFlow提供了丰富的功能和灵活性,使得开发者可以轻松构建和训练复杂的神经网络模型,处理图像、文本和其他类型的数据。由于其开源性质,拥有庞大的社区支持,用户可以放心使用,并从开源社区中获取宝贵的经验和资源。 mnist数据集是机器学习领域的经典数据集之一。它包含着大量的手写数字图像,供开发者用来训练和测试各种算法和模型。这个数据集的规模相对较小,因此对于绝大多数人来说,无论是数据的下载还是训练过程,都不会对电脑性能提出过高的要求。这使得mnist成为了理想的入门数据集,适合初学者探索和理解机器学习算法的基本原理。 结合Pygame与TensorFlow,你将能够为机器学习实验创建出图形化界面,以及实现交互式处理。Pygame是一款面向游戏和多媒体应用的Python库,但同样也可以用于数据可视化和图形化交互。利用Pygame,你可以展示训练过程中的图像输出、模型的预测结果等,增强对机器学习算法运行情况的直观认识。而且,Pygame的简单。内
基于两种坐标系的超螺旋滑模观测器的永磁同步电机pmsm无位置(速度)传感器控制模型 支持 dq旋转坐标系和静止坐标系建立smo 引入二阶滑模超螺旋算法替代一阶滑模 dq坐标系引入锁相环PLL估计转速及转子位置 有效削弱抖振 赠送超螺旋滑模搭建推导文档及相关参考资料 仿真模型
汇编实验算数运算程序设计.docx
小区监控视频监控方案.doc
白色大气风格的HTML商务模板下载.zip
白色大气风格响应式运动健身瑜伽企业网站模板.zip
单片机实验仿真设计报告
白色大气风格的设计公司整站网站模板下载.zip
白色大气风格的html商务模板.zip
白色大气风格的英文网站模板下载.zip
白色大气风格的科研教育模板下载.zip
本摄像头ov7670驱动程序已经通过本人的验证可以正常运行,不同的stm32开发板只需要修改引脚即可使用