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 ...
随机推荐
- mysql日常运维与参数调优
日常运维 DBA运维工作 日常 导数据,数据修改,表结构变更 加权限,问题处理 其它 数据库选型部署,设计,监控,备份,优化等 日常运维工作: 导数据及注意事项 数据修改及注意事项 表结构变更及注意事 ...
- iOS7自定义back按钮和pop交互手势
Clambake for iPhone有一个回退按钮在所有的导航条上.这是一个简单的没有文字箭头. 实现一个自定义按钮是简单的.类似这个设置controller 的navigationItem一个le ...
- MATLAB基础操作符与数据格式显示
1.冒号":" 基本使用如下: X=1:10:表示生成向量[1,2,3,4,5,6,7,8,9,10] X=J:i:k ;表示向量[j,j+i,j+2i,...,k]; A(:,j ...
- linux暴力密码破解工具hydra安装与使用
说明:hydra是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码.官网:http://www.thc.org/thc-hydra,可支持AFP, Cisco AAA, Cisco ...
- Git相关命令教程
一.在GitHub上创建新项目 (1)在GitHub首页 “New repository”,创建新版本库“test” (2)在本地使用GitBash,将repository clone到本地 git ...
- 【AngularJS】Yeoman安装
看不到PPT的请自行解决DNS污染问题.
- vscode 折叠所有区域
- 如何让DIV居中
总结:text-align:center;对三中浏览器而言,都具有文字/行内元素的嵌套式居中,或者说继承式的居中,只要外面的容器设置了这个属性,那么他内部的所有元素都具有这个属性(意思是,虽然这个属性 ...
- codeforces 283C
给 n 中 钱币.以及每两种钱币的关系,表示,ai 的 个数 要大于 bi 组合成一个价值val,求方案数,好奇妙的一个处理方式,不得不说又学到了 #include<stdio.h> #i ...
- awakeFromNib方法和viewDidLoad方法区别
当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的awakeFromNib函数来响应这个消息,执行一些必要的操作. 也就是说只有通 ...