Servlet的概念与用法
Servlet:
Servlet(Servlet+Applet)
Servlet是一种独立于平台和协议的服务器端Java应用程序,通用Servlet
可以生成动态Web页面。Servlet还可以在服务器端对客户端的请求进行处理
,控制程序的执行。
Servlet本身不做任何业务处理。只是接收请求并决定调用哪个JavaBean去
处理请求,确定用哪个页面来显示处理返回的数据。
Servlet的主要作用就是交互式地浏览和更新数据,并生成动态的页面内容展示。
不是所有的Java应用程序都是Servlet,只有当服务器端使用Servlet API时,才能
算是一个Servlet。
Servlet处理Web请求的过程:
服务器接收从客户端发送的请求。
服务器将请求信息发送至Servlet。
Servlet经过处理后,生成响应的内容。
服务器将响应的内容返回客户端。
Servlet与JSP的关系:
JSP在被Web容器解析的时候,最终会被编译成一个Servlet类。
Servlet API:
http://tomcat.apache.org/tomcat-7.0-doc/servletapi/index.html
常用的接口和类:
Servlet生命周期的各个阶段:
加载和实例化------当Servlet容器启动或者容器检测到客户端请求时。
初始化---------Servlet容器调用init()方法初始化对象
处理请求---------得到客户端请求并做出处理时,容器调用servlet()方法
销毁---------当程序中的Servlet对象不再使用的时候,或者Web服务器停止运行的时候。
创建Servlet的三种方法:
实现Servlet接口。
继承GenericeServlet类。
继承HttpServlet类。
Servlet部署与运行:
修改web.xml(部署描述文件)
添加<servlet>:把Servlet内部名映射到一个Servlet类名
添加<servlet-mapping>:把用户访问的URL映射到Servlet的内部名
示例:
<servlet>
<servlet-name>ServletDemo</servlet-name>
<servlet-class>com.wu.servlet.ServletDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo</servlet-name>
<url-pattern>/ServletDemo</url-pattern>
</servlet-mapping>
<url-pattern>的设置方法:
精确匹配: <url-pattern>/xxx</url-pattern>
路径匹配:<url-pattern>/xxx/*</url-pattern>
扩展名匹配:<url-pattern>*.do</url-pattern>
通过URL访问Servlet
HTTP://localhost:8080/Servlet/ServletDemo
容器根据URL中访问的Servlet,在web.xml文件中进行查找,并调用调用该Servlet处理用户的请求。
查找方式: </servlet-mapping>中<url-pattern>--> <servlet-name>-->
<servlet>中<servlet-name>--><servlet-class>
另外还需注意的是:
创建Servlet编写Servlet代码后,还要对JSP表单进行修改,实现表单提交时调用Servlet。
修改表单action属性:
action="<%=request.getContextPath()%>/ServletDemo"
<%=request.getContextPath()%>:获取页面上下文环境。
/ServletDemo:对应web.xml文件中<url-pattern>元素的内容
Servlet的概念与用法的更多相关文章
- servlet有关概念
关于servlet的概念 URL.URN与URi HTTP GET请求,POST请求(区别.适用) 编码 动态网页(GCI.PHP.ASP.JSP等)与静态网页 Model2 静态网页:指的是请求服务 ...
- (转载)OC学习篇之---协议的概念和用法
在前一篇文章中我们介绍了OC中类的延展,这一篇文章我们在来看一下OC中协议的概念以及用法,协议也是OC中的一个重点,Foundation框架以及我们后面在写代码都会用到. OC中的协议就是相当于Jav ...
- OC中协议的概念以及用法
OC中协议的概念以及用法,协议也是OC中的一个重点,Foundation框架以及我们后面在写代码都会用到. OC中的协议就是相当于Java中的接口(抽象类),只不过OC中的名字更形象点,因为我们在学习 ...
- scrapy之基础概念与用法
scrapy之基础概念与用法 框架 所谓的框架就是一个项目的半成品.也可以说成是一个已经被集成了各种功能(高性能异步下载.队列.分布式.解析.持久化等)的具有很强通用性的项目模板. 安装 Linux: ...
- Android中Cursor类的概念和用法[转]
首页 > 程序开发 > 移动开发 > Android > 正文 Android中Cursor类的概念和用法 2011-09-07 0个评论 收藏 ...
- Python yield 的基本概念和用法
之前解析MQTT协议时,需要做一个等分字节流的操作,其中用到了yield关键字,如下: def get_var_length(hstring): m = 1 v = 0 for element in ...
- (4.5)DBCC的概念与用法(DBCC TRACEON、DBCC IND、DBCC PAGE)
转自:http://www.cnblogs.com/huangxincheng/p/4249248.html DBCC的概念与用法 一:DBCC 1:什么是DBCC 我不是教学老师,我也说不到没有任何 ...
- OC学习篇之---协议的概念和用法
这一篇文章我们在来看一下OC中协议的概念以及用法,协议也是OC中的一个重点,Foundation框架以及我们后面在写代码都会用到. OC中的协议就是相当于Java中的接口(抽象类),只不过OC中的名字 ...
- JAVA中数组的基本概念与用法
JAVA中数组的基本概念与用法 1. 数组的定义与特点 数组的一种引用数据类型 数组中可以同时存放多个数据,但是数据的类型必须统一 数组的长度在开始时就需要确定,在程序运行期间是不可改变的 虽然可以使 ...
随机推荐
- Android studio如何和VS的region一样折叠代码
相信用过VS的朋友都会经常有用到VS的region来折叠代码,非常方便.那么Android studio是否可以呢?当然可以. 选择代码,Ctrl + Alt + T 选择 第二项,这样就可以啦
- 如何解决quartz在集群下出现的资源抢夺现象
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中.它提供了巨大的灵活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的调度,简单的说就是可以 ...
- Windows下查询指定端口进程,并杀死
1. 找到指定端口的进程号 c:\devworks\lib\httpd-2.4.10-win32-VC9\Apache24\bin>netstat -ano|findstr "9000 ...
- PHP数据结构之四 一元多项式的相加PHP单链实现
<?php /** *一元多项式的表示和相加 *一元多项式的表示采用单链表的形式 **/ header("content-type:text/html;charset=gb2312&q ...
- Unity3D Physics Keynote
[Unity3D Physics Keynote] 1.在哪设置Layer Collision Matrix? "Edit"->"Project Settings& ...
- Objects & Class
[Objects & Class] 1.定义一个类. 上述代码中,numberOfSides是实例变量,simpleDescription也是实例方法. 2.创建实例,使用实例. 3.init ...
- 什么是HUD
[什么是HUD] 游戏HUD的意思: 说直白点就是在屏幕上显示你的游戏相关信息,让玩家可以随时了解那些最重要最直接相关的内容.就是说,像我们玩游戏的时候,显示您的武器耐久度不够了,您的血量不足了等等. ...
- ubuntu16.04 ARM平台移植xmlrpc-c1.39.12
1. xmlrpc-c依赖与libcurl 参考另外一篇随笔:https://www.cnblogs.com/flyinggod/p/10148228.html 2. 下载源代码 http://xml ...
- logistic growth model . 求解方法 (高斯牛顿法)
https://www.stat.tamu.edu/~jnewton/604/chap4.pdf http://www.metla.fi/silvafennica/full/sf33/sf334327 ...
- hdu 1556 Color the ball (线段树做法)
Problem Description N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a ...