Presentation is loading. Please wait.

Presentation is loading. Please wait.

专题一 Servlet技术 案例一简单计数器.

Similar presentations


Presentation on theme: "专题一 Servlet技术 案例一简单计数器."— Presentation transcript:

1 专题一 Servlet技术 案例一简单计数器

2 教学目标 1.1 了解Servlet的基础知识 1.2 了解Servlet的生命周期 1.3 掌握Servlet的配置方法

3 工作任务 使用Servlet做一个简单的计数器 实现输出“Welcome to Servlet World”程序

4 简单的计数器,记录个人访问此页面的次数

5 创建工程和CountPng类 新建一个工程,名为“ServletDem”
新建“handson.test”包。在该包下新建CountPng.java.类

6 设置变量和编写初始化方法 设置计数时需要的变量 编写init()方法,在Servlet被加载时调用 int count;
public void init(ServletConfig config) throws ServletException{ super.init(config); }

7 编写doGet()方法 CountPng 类的Servlet的doGet()方法里添加代码
PrintWriter out = res.getWriter(); count++; out.println("<html>"); out.println("<head><title>accessCounter</title></head>"); out.println("<body bgcolor=\"#ffffff\">"); out.println("You Called " + count + " times"); out.println("</body></html>"); out.close();

8 编写doPost()和destroy()方法
编写CountPng.java类中的doPost()和destroy()方法: public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{ doGet(req,res); } public void destroy(){ super.destroy();

9 配置Servlet 在web.xml中配置Servlet
<web-app xmlns= xmlns:xsi=" xsi:schemaLocation= version="2.5"> <servlet> <servlet-name>count</servlet-name> <servlet-class>handson.test.CountPng</servlet-class> </servlet> <servlet-mapping> <url-pattern>/CountPng</url-pattern> </servlet-mapping> </web-app>

10 运行程序 启动Tomcat服务器。 在IE浏览器的地址栏中输入以下地址:

11 运行效果 浏览器中预览效果 案例实践结束

12 实现输出“Welcome to Servlet World”程序

13 新建工程和Hello.java类 1. 新建一个名为ServletDemo的工程 2. 新建一个名为Hello.java的Servlet

14 导入需要的包 导入Servlet所需的包: import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

15 编写Hello类1 继承HttpServlet 设置init()方法 编写destroy()方法
public void init(ServletConfig config) throws ServletException{ super.init(config); } public void destroy(){ super.destroy();

16 编写Hello类2 编写doGet()方法 PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=gb2312"); out.println("<html><head><title>"); out.println("Welcome to Servlet World"); out.println("</title></head>"); out.println("<body>Welcome to Servlet World</body></html>"); out.close();

17 配置Servlet 配置Servlet,在web.xml中写入下面代码: <servlet>
<servlet-name>hello</servlet-name> <servlet-class>handson.test.Hello</servlet-class> </servlet> <servlet-mapping> <url-pattern>/Hello</url-pattern> </servlet-mapping>

18 总结 了解Servlet的基础知识 了解Servlet的生命周期 掌握Servlet的配置方法

19 什么是Servlet Servlet(Java服务器小程序)是用Java编写的服务器端程序,是由服务器端调用和执行的、按照Servlet自身规范编写的Java类。 基本Servlet程序流程。 如下图所示:

20 为什么要使用Servlet 思考为什么要使用Servlet 1. Servlet是持久的 2. Servlet是快速的。

21 Java Servlet与Applet的比较
相似之处: 它们不是独立的应用程序,没有main()方法 不是由用户或程序员调用,而是由另外一个应用程序(容器)调用 都有一个生存周期,包含init()和destroy()方法 不同之处: Applet具有很好的图形界面(AWT),与浏览器一起,在客户端运行 Servlet则没有图形界面,运行在服务器端

22 Servlet与JSP的关系 JSP技术主要用来表现页面 ,Servlet技术主要是用来完成大量的逻辑处理
JSP本身没有任何的业务处理逻辑,它只是简单地检索Servlet创建的JavaBean或者对象,再将动态的内容插入到预定义的模块中 Servlet创建JSP需要的JavaBean和对象,再根据用户的行为,决定处理哪个JSP页面并发送给用户

23 Servlet的生命周期 1. 装载Servlet:在服务器启动后就装载Servlet或初始化特定的Servlet。
4. 执行阶段 5. Servlet销毁阶段

24 配置Servlet 部署描述文件的位置 Web.xml文件总是放置在Web应用的WEB-INF目录中。这是各个服务器之间惟一通用的位置;其他位置都是非标准的服务器扩展,应该避免使用它们。

25 Web.xml基本格式定义 Web.xml基本格式定义:
<web-app xmlns= xmlns:xsi=" XMLSchema-instance" xsi: schemaLocation=http: //java.sun.com/xml/ns/javaee version="2.5"> </web-app>

26 Servlet的命名 命名Servlet,我们需要用到web-app内Servlet元素的Servlet-name(可以选取任意名称)和Servlet-class(完全限定类名)子元素 <servlet> <servlet-name>count</servlet-name> <servlet-class> handson.test.CountPng </servlet-class> </servlet>

27 URL的指定 要将URL赋予已命名的Servlet,需要使用Servlet-mapping元素的Servlet-name(之前指定的名称)和url-pattern(URL前缀,由斜杠开始)子元素 <servlet-mapping> <servlet-name>count</servlet-name> <url-pattern>/CountPng</url-pattern> </servlet-mapping>

28 配置初始化参数 配置初始化参数 <servlet>
<servlet-name>count</servlet-name> <servlet-class> handson.test.CountPng </servlet-class> <init-param> <param-name>encoding</param-name> <param-value>gb2312</param-value> </init-param> </servlet>

29 部署描述文件的读取 许多服务器具有“热部署”能力或方法,可以交互式地重启Web应用。例如,JRun会自动重启那些web.xml文件发生改变的Web应用。然而,默认情况下,服务器启动后web.xml文件是只读的。因此,除非您使用服务器专有的特性,否则每次修改完web.xml文件还是得重新启动服务器


Download ppt "专题一 Servlet技术 案例一简单计数器."

Similar presentations


Ads by Google