JSP&Servlet(转)
第一篇:Web应用基础
1.概念:
1.1应用程序分类
a.桌面应用程序:一般是指采用client/server即客户机/服务器结构的应用程序。
b.web应用程序:一般是指采用Browser/server即浏览器 和服务器结构的应用程序。客户机上只要安装一个浏览器,服务器端程序等待响应客户端发来的请求。
1.2 web应用程序的两端:
web服务器:接收客户请求,进行处理,然后向客户返回结果
web客户:允许用户请求服务器上的某个资源,并且向用户显示请求的结果
2.Http请求常用的方式是get和post:
get请求的方式:a.get方式会把要传送的请求数据追加到url后面,在提交到服务器,会在浏览器地址中显示出来,所发送的数据会完全暴露
b.get方式传送的数据量有限制
post请求的方式:a.post方式发送请求数据时作为http消息的消息体来发送的,不会作为url地址的参数传递
b.理论上,post传送的数据量没有限制
3.响应消息格式:
完整的响应消息包括:一个状态行,多个消息头以及消息体
a。状态行告诉浏览器使用了什么协议,请求是否成功
b。消息头用来描述Http消息本身的一些属性
c。消息体包含了要浏览器显示的具体内容如(Html)
第二篇:servlet
1.概念:
servlet是一个用Java编写的程序,此程序在服务器上运行用来处理客户端请求,并作出响应
2.servlet的基本运行方式:
servlet没有main()方法,受控于另一个java应用(即servlet容器)。
Web服务器应用得到一个指向servlet的请求时,服务器不是把这个请求交给servlet本身,而是先交给部署该servlet的容器,因为容器是通过java的反射API来创建servlet实例
由容器实例化servlet,并向servlet请求和响应,由容器调用servlet请求处理方法,处理结果会送回web服务器,再有web服务器传回客户端
3.servlet的优点:
a.执行效率高:servlet默认是以多线程模式执行的
b。拥有跨平台执行能力
4.servlet的生命周期:
Servlet运行在servlet容器中,其生命周期由容器来管理,servlet的生命周期通过Javax.servlet.Servlet接口中的init(),service()和destory()方法来表示
详情请见servlet.txt
5.servlet的两种请求方式:重定向和请求分派
重定向:
执行方式:response.sendRedirect("目标url");
原理:会把新地址显示在地址栏中
特征:两次请求和响应,第一次数据会丢失
请求分派:
执行方式: request.getPequestDiapatcher("目标url").forward(request,response);
原理:由web容器把请求和响应对象传给下一个资源,下一个资源对客户端作出响应
特征:只有一次请求和响应,浏览器地址上的url没有任何变化,请求中的数据不会丢失
区别:重定向由客户端来完成工作,而请求分派要求服务器上的某个servlet来完成任务
6。servlet初始化参数:
容器初始化一个servlet时,会为这个servlet建一个唯一的ServletConfig对象(Servlet配置对象),容器会从部署描述文件(web.xml)中“读出”servlet初始
化参数交给ServletConfig对象,然后再把ServletConfig对象传递给Servlet的init()方法。
7. 结束Session的方式
自动超时限制
手动结束:HttpSession提供的invalidate()方法
第三篇。 jsp
1。过滤器是Web服务端组件,它可以访问客户端输入的请求和 Web资源输出的响应。
2。Filter接口包含的方法有: init()、doFilter() 和 destroy()
在初始化过程中,Servlet 使用 FilterConfig 将配置信息传递给过滤器
每次用户发送请求或 Web资源发送响应时都会调用 doFilter()方法
3。jsp九大隐式对象
JSP隐式对象 对应类型
out javax.servlet.jsp.JspWriter
request javax.servlet.http.HttpServletRequest
response javax.servlet.http.HttpServletResponse
pageContext javax.servlet.jsp.PageContext
session javax.servlet.http.HttpSession
application javax.servlet.ServletContext
page java.lang.Object
config javax.servlet.ServletConfig
exception java.lang.Throwable
4。JSP中对象的四个作用域。
作用域名称 描述 对应的隐式对象 所属类型
application 在当前整个应用中有效 application ServletContext
session 在当前会话中有效 session HttpSession
request 在当前请求中有效 request HttpServletRequest
page 在当前页面有效 pageContext PageContext
JSP&Servlet(转)的更多相关文章
- 基于jsp+servlet图书管理系统之后台万能模板
前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...
- JS.中文乱码,Jsp\Servlet端的解决办法
JS.中文乱码,Jsp\Servlet端的解决办法 2010-03-08 15:18:21| 分类: Extjs | 标签:encodeuricomponent 乱码 urldecoder ...
- 最简单的jsp+servlet的增删改查代码
package ceet.ac.cn.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...
- JSP+Servlet中使用jspsmartupload.jar进行图片上传下载
JSP+Servlet中使用cos.jar进行图片上传 upload.jsp <form action="FileServlet" method="post&quo ...
- jsp+servlet+mysql 实现简单的银行登录转账功能
jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...
- 使用jsp/servlet简单实现文件上传与下载
使用JSP/Servlet简单实现文件上传与下载 通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用 ...
- JSP+Servlet+javabean+oracle实现页面多条件模糊查询
之前写过一篇JSP+Servlet+javabean+mysql实现页面多条件模糊查询 使用的是mysql进行的分页查询,mysql用limit控制,而oracle则是用rownum,今天第一次写or ...
- JSP+Servlet+javabean+mysql实现页面多条件模糊查询
需求: 一般列表页上面会有一个查询框,有各种的查询条件组合,一般都采用模糊查询方式 ,以下以自己做的实例来说明一下实现方法: 需要实现的界面原型:要满足条件: 1.单选分类,点GO按扭 2.单独输入标 ...
- 淘宝(阿里百川)手机客户端开发日记第十一篇 JSP+Servlet
由于本人从事.net开发已有多年经验,今天由于工作需要,我只能学习下JSP+Servlet,至于java web提供了更好的开发框架MVC,现在由于时间关系,我只好用JSP+Servlet来搭建服务器 ...
- JSP/Servlet的编码原理
转自:http://janwer.iteye.com/blog/150226 首先,说说 JSP/Servlet 中的几个编码的作用 在 JSP/Servlet 中主要有以下几种设置编码的方式: pa ...
随机推荐
- 【iOS】Frame和Bounds的区别以及获取绝对坐标的办法
终于搞清楚了,UIView中的frame获取的是相对于所在ParentView的坐标,而bounds则是指UIView本身的坐标.比如下图(假设A是屏幕): View B的Frame坐标是指相对于Vi ...
- Using Find_Alert and Show_Alert in Oracle Forms
Show_alert is used to display model window messages in Oracle Forms and Find_alert searches the list ...
- iOS 在Xcode中使用OpenSSL库
最近要做一个密码键盘,想内置一些加密算法,所以就想到了添加OpenSSL库,现在mac也自带了OpenSSL库,但是每次都从终端是生成是很麻烦的.网上找了很多文档.博客去介绍如何编译可以在Xcode中 ...
- [Android实例] Scroll原理-附ScrollView源码分析 (转载)
想象一下你拿着放大镜贴很近的看一副巨大的清明上河图, 那放大镜里可以看到的内容是很有限的, 而随着放大镜的上下左右移动,就可以看到不同的内容了 android中手机屏幕就相当于这个放大镜, 而看到的内 ...
- linux中du的用法
du:Disk Usage的缩写,命令功能为显示目录(或文件)所占磁盘空间的大小. 语 法:du [-abcDhHklmsSx0] [-L][-X File][--block-size=SIZE][- ...
- 每天5道面试题(二)java基础
说出Servlet的生命周期,并说出Servlet和CGI的差别 Servlet被server实例化后,容器执行其init方法,请求到达时执行其service方法,service方法自己主动派遣执行与 ...
- Vue2.0 :key作用
转自:https://www.cnblogs.com/zhumingzhenhao/p/7688336.html 为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需 ...
- webstrom 代码工具(转http://www.cnblogs.com/tangdanni11/p/5149063.html)
Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示: ...
- 简单记录一次ORA-00600: internal error code, arguments: [2662]
接上一个,REDO报错搞定后OPEN数据库时又报错ORA-00600: internal error code, arguments: [2662]. 原因是_ALLOW_RESETLOGS_CORR ...
- WINDOWS下的squid
今天写这篇教程目的在于分享自己在WINDOWS主机下配置squid的方法.哪些地方写的不完善或是不完整或是需要修改的地方,大家可以提出.我会第一时间纠正.下面看正文部分.先提条件,您预安装配置squi ...