第5天:Servlet相关知识(一)
2011-06-05 16:06
489 查看
Servlet相关知识1
1.什么是Servlet?能做什么?
Sun公司制定的用于扩展web服务器功能的组件规范(早期CGI:Common Gateway Interface)
扩展:
web服务器本身没有计算能力,也就是说,不能处理动态资源的请求。servlet可以处理动态资源的请求。
组件规范:
组件是符合规范,完成一定功能,并可以单独部署的软件模块。一般不能独立运行,需要依赖容器才能运行。
JSR:Java Specification request
JCP:Java Communication process
容器:
是一种程序,提供组件的运行环境,并且管理组件的运行周期。
Servlet容器:
提供Servlet运行的环境,并且管理Servlet的运行周期。一般常见的web服务器,比如Tomcat,除了是
一个servlet容器以外,同时也是一个web服务器。
能做什么?
servlet只能采用java语言开发,servlet可以作java类能做的所有的事件。
2.如何开发一个Servlet?
step1: 写一个java类,实现Servlet接口或者继承HttpServlet类。
step2: 编译(依赖servlet api)
step3: 打包(定义一个特定的目录结构,将相应的字节码,配置文件,相关的jar文件放到对应的目录结构里)
appname(名称任意,一般称为应用名)
WEB-INF(必须以该名称命名)
classes(放.class文件)
lib(可选,放.jar文件)
web.xml(部署描述文件)
step4: 部署(将step3中的结果放到特定的目录,对于tomcat是webapps)
step5: 启动服务器
windows -> startup.bat -> shutdown.bat
linux -> startup.sh -> shutdown.sh
启动成功:http://localhost:8080/
step6: 访问servlet
http://localhsot:8080/appname/url-pattern
3.Servlet是如何运行的?
假如我们在浏览器栏输入了如下地址:http://ip:port/appname/servletname
step1: 浏览器依据ip,port连接服务器。
step2: 浏览器将请求数据按http协议打成一个http请求数据包(包含了appname/servletname)
step3: 服务器当中的一个负责通讯的模块(一般称为servlet引擎)会创建HttpServletRequest的一个实例
(HttpServletRequest实际上是一个接口,由服务器提供者来实现),该实例包含了请求数据包中的
数据。另外,还创建了一个HttpServletResponse的一个实例。
step4: 服务器依据appname/url-pattern找到web.xml依据信息找到对应的servlet类名。会查看该servlet
有没有对应的实例,如果没有,则创建实例,有的话,则不创建,使用现成的实例。接下来,调用service()
方法,service方法里面的代码可以通过HttpServletRequest提供的方法来获得请求中的数据,并且,也
可以将处理之后的结果通过HttpServletRequest提供的方法设置返回的结果。
step5: Servlet引擎会从HttpServletResponse获取数据,生成http响应数据包,发送给浏览器。
4.使用MyEclipse开发servlet
(1) 安装MyEclipse
(2) 开发步骤
step1: 建立一个web project
step2: 在src下面编写java类
step3: 在web.xml中配置servlet
step4: 部署
a.让MyEclipse管理Tomcat
window -> preferences -> MyEclipse -> Servers -> Tomcat -> Tomcat 6.X
b.部署
step5: 访问
http://ip:port/appname/url-pattern
5.web.xml文件内容
<?xml version="1.0" encoding="UTF-8"?>
<!-- 文件的第一行一定是上面的信息,说明xml文件的版本和字符编码 -->
<!-- 下面用来配置web工程 -->
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description>HelloServlet</description>
<display-name>HelloServlet</display-name>
<!-- 一般是定义Servlet时的名字 -->
<servlet-name>HelloServlet</servlet-name>
<!-- 该Servlet的全名 -->
<servlet-class>ttwork.servlet.HelloServlet</servlet-class>
</servlet>
<servlet>
...
</servlet>
<servlet-mapping>
<!-- 和上面Servlet使用的名字一样 -->
<servlet-name>HelloServlet</servlet-name>
<!-- 访问Servlet时的相对路径 -->
<url-pattern>/servlet/HelloServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
...
</servlet-mapping>
<error-page>
<error-code>500</error-code>
<location>/error.html</location>
</error-page>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
1.什么是Servlet?能做什么?
Sun公司制定的用于扩展web服务器功能的组件规范(早期CGI:Common Gateway Interface)
扩展:
web服务器本身没有计算能力,也就是说,不能处理动态资源的请求。servlet可以处理动态资源的请求。
组件规范:
组件是符合规范,完成一定功能,并可以单独部署的软件模块。一般不能独立运行,需要依赖容器才能运行。
JSR:Java Specification request
JCP:Java Communication process
容器:
是一种程序,提供组件的运行环境,并且管理组件的运行周期。
Servlet容器:
提供Servlet运行的环境,并且管理Servlet的运行周期。一般常见的web服务器,比如Tomcat,除了是
一个servlet容器以外,同时也是一个web服务器。
能做什么?
servlet只能采用java语言开发,servlet可以作java类能做的所有的事件。
2.如何开发一个Servlet?
step1: 写一个java类,实现Servlet接口或者继承HttpServlet类。
step2: 编译(依赖servlet api)
step3: 打包(定义一个特定的目录结构,将相应的字节码,配置文件,相关的jar文件放到对应的目录结构里)
appname(名称任意,一般称为应用名)
WEB-INF(必须以该名称命名)
classes(放.class文件)
lib(可选,放.jar文件)
web.xml(部署描述文件)
step4: 部署(将step3中的结果放到特定的目录,对于tomcat是webapps)
step5: 启动服务器
windows -> startup.bat -> shutdown.bat
linux -> startup.sh -> shutdown.sh
启动成功:http://localhost:8080/
step6: 访问servlet
http://localhsot:8080/appname/url-pattern
3.Servlet是如何运行的?
假如我们在浏览器栏输入了如下地址:http://ip:port/appname/servletname
step1: 浏览器依据ip,port连接服务器。
step2: 浏览器将请求数据按http协议打成一个http请求数据包(包含了appname/servletname)
step3: 服务器当中的一个负责通讯的模块(一般称为servlet引擎)会创建HttpServletRequest的一个实例
(HttpServletRequest实际上是一个接口,由服务器提供者来实现),该实例包含了请求数据包中的
数据。另外,还创建了一个HttpServletResponse的一个实例。
step4: 服务器依据appname/url-pattern找到web.xml依据信息找到对应的servlet类名。会查看该servlet
有没有对应的实例,如果没有,则创建实例,有的话,则不创建,使用现成的实例。接下来,调用service()
方法,service方法里面的代码可以通过HttpServletRequest提供的方法来获得请求中的数据,并且,也
可以将处理之后的结果通过HttpServletRequest提供的方法设置返回的结果。
step5: Servlet引擎会从HttpServletResponse获取数据,生成http响应数据包,发送给浏览器。
4.使用MyEclipse开发servlet
(1) 安装MyEclipse
(2) 开发步骤
step1: 建立一个web project
step2: 在src下面编写java类
step3: 在web.xml中配置servlet
step4: 部署
a.让MyEclipse管理Tomcat
window -> preferences -> MyEclipse -> Servers -> Tomcat -> Tomcat 6.X
b.部署
step5: 访问
http://ip:port/appname/url-pattern
5.web.xml文件内容
<?xml version="1.0" encoding="UTF-8"?>
<!-- 文件的第一行一定是上面的信息,说明xml文件的版本和字符编码 -->
<!-- 下面用来配置web工程 -->
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description>HelloServlet</description>
<display-name>HelloServlet</display-name>
<!-- 一般是定义Servlet时的名字 -->
<servlet-name>HelloServlet</servlet-name>
<!-- 该Servlet的全名 -->
<servlet-class>ttwork.servlet.HelloServlet</servlet-class>
</servlet>
<servlet>
...
</servlet>
<servlet-mapping>
<!-- 和上面Servlet使用的名字一样 -->
<servlet-name>HelloServlet</servlet-name>
<!-- 访问Servlet时的相对路径 -->
<url-pattern>/servlet/HelloServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
...
</servlet-mapping>
<error-page>
<error-code>500</error-code>
<location>/error.html</location>
</error-page>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
相关文章推荐
- 探讨.get .post .ajax ztree 还有后台servlet传递数据的相关知识
- Servlet和Applet(Java小应用程序)相关知识!!!!------阿冬专栏
- java(15)--servlet中Request相关知识
- servlet相关知识,使用servlet实现定时刷新,实现页面登录次数统计
- 面试之jsp、Servlet相关知识——生命周期,区别等
- servlet过滤器的相关知识总结
- 简单描述Servlet Filter(过滤器) 相关知识
- servlet的一些用法及相关知识的一些总结
- jsp/servlet相关技术及知识
- 9月8日笔记(servlet相关知识)
- Servlet相关知识
- servlet的一些相关知识的总结
- jsp/servlet相关技术及知识
- Servlet相关知识的总结
- 详细描述Java_Servlet事件监听器相关知识
- Servlet相关知识
- Servlet相关知识
- Servlet相关知识汇总
- Servlet相关知识
- 面试之jsp、Servlet相关知识——生命周期, 区别等