servlet

要了解servlet技術須要掌握幾點:servlet是什麼,它又能作什麼,實現什麼樣的功能,如何實現這個功能,在具體項目中是如何運用等;總結下面幾個知識點:html

一、什麼是servlet;java

二、servlet能作什麼;web

三、servlet工做機理是什麼(servlet生命週期);數組

四、servlet經常使用類及接口有哪些;tomcat

五、servlet具體如何在項目中運用;服務器

 

我的學習總結以下:session

一、首先servlet是一個java類;按照自身規範編寫的java類,由服務器端調用和執行;app

二、servlet的功能:用於處理客戶端請求,即HTTP請求,並返回一個響應;jsp

三、servlet部署在容器裏,由容器管理它的生命週期;大概一下幾個階段:學習

        (1)裝載servlet:servlet的裝載是動態進行的;

        (2)建立servlet實例:servlet是一個java類,在使用以前須要建立一個實例;

        (3)初始化:經過調用init()方法進行;

        (4)服務:初始化完後就能夠進行服務,處理業務需求,經過調用service()方法進行;

        (5)銷燬:經過調用servlet的destroy()方法進行銷燬servlet實例;

四、servlet經常使用接口:

(1)servlet實現相關的接口:Servlet,GenericServlet,HttpServlet

方法:init(),destroy(),service(ServletReqeust request,ServletResponse response),doGet(),doPost()

getServletConfig(),獲取配置相關信息對象的引用;

HttpServlet類是針對使用http協議的web服務器的servlet類;

public Interface Servlet;

public abstract class GenericServlet implements Servlet,ServletConfig,java.io.Serializable;

public abstract class HttpServlet extends GenericServlet impements java.io.Serializable;

(2)servlet配置相關:ServletConfig

方法:getServletContext();獲取上下文對象的引用

(3)請求響應相關:ServletRequest,ServletResponse,HttpServletRequest,HttpServletResponse

request:

方法:

getCookies();返回一個數組

getSession()

getParameter(String name)獲取請求中名爲name的參數值

response:

方法:

sendRedirect(String location)把響應發送到另外一個頁面或servlet進行處理;

encodeURL(String url);重寫URL;

(4)回話跟蹤:HttpSession接口

一個session能夠經過Cookie或重寫URL來維持;

方法:

getId();獲取當前session標誌符;

(5)Servlet上下文:ServletContext接口

在服務器上使用session對象維持與單個用戶的狀態,當爲多個用戶的web應用維持一個狀態時,則應用servlet環境;servletContext對象表示一組Servlet共享的資源;

方法:

getAttribute(String name);獲取名爲name的屬性;

setSttribute(String name,Object object);

getContext(String uripath);返回給定的uripath的應用的servlet上下文;

(6)Servlet協做:RequestDispatcher接口

方法:

forword(ServletReqeust request,ServletResponse response);把請求轉發到服務器上的另外一個資源(servlet,jsp,html)

 

五、servlet運用:

Servlet的HelloWorld實例:

(1)建立HelloWorldServlet:

 1 package com.jdpdev.ch1;
 2 
 3 import java.io.*;
 4 
 5 import javax.servlet.*;
 6 import javax.servlet.http.*;
 7 
 8 
 9 public class HelloWorldServlet extends HttpServlet {
10     public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
11         response.setContentType("text/html;charset=gb2312");
12         PrintWriter out = response.getWriter();
13         out.println("<html>");
14         out.println("<head>");
15         out.println("<title>Hello World</title>");
16         out.println("</head>");
17         out.println("<body >");
18         out.println("<hr>");
19         out.println("hello world<br>");
20         out.println(request.getCookies());
21         out.println("</body></html>");
22         
23     }
24     public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
25         doGet(request,response);
26     }
27 
28 }


(2)在web.xml配置servlet

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <display-name>Welcome to tomcat</display-name>
    <description>
     HellloWorld
     </description>
     <servlet>
       <servlet-name>HelloWorldServlet</servlet-name>
       <servlet-class>com.jdpdev.ch1.HelloWorldServlet</servlet-class>
       </servlet>
       
       <servlet-mapping>
        <servlet-name>HelloWorldServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
        </servlet-mapping>
</web-app>
相關文章
相關標籤/搜索