要了解servlet技术需要掌握几点:servlet是什么,它又能做什么,实现什么样的功能,如何实现这个功能,在具体项目中是如何运用等;总结下面几个知识点:
1、什么是servlet;
2、servlet能做什么;
3、servlet工作机理是什么(servlet生命周期);
4、servlet常用类及接口有哪些;
5、servlet具体如何在项目中运用;
个人学习总结如下:
1、首先servlet是一个java类;按照自身规范编写的java类,由服务器端调用和执行;
2、servlet的功能:用于处理客户端请求,即HTTP请求,并返回一个响应;
3、servlet部署在容器里,由容器管理它的生命周期;大概一下几个阶段:
(1)装载servlet:servlet的装载是动态进行的;
(2)创建servlet实例:servlet是一个java类,在使用之前需要创建一个实例;
(3)初始化:通过调用init()方法进行;
(4)服务:初始化完后就可以进行服务,处理业务需求,通过调用service()方法进行;
(5)销毁:通过调用servlet的destroy()方法进行销毁servlet实例;
4、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)
5、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("");14 out.println("");15 out.println("Hello World ");16 out.println("");17 out.println("");18 out.println("
");19 out.println("hello world");20 out.println(request.getCookies());21 out.println("");22 23 }24 public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{25 doGet(request,response);26 }27 28 }
Welcome to tomcat HellloWorld HelloWorldServlet com.jdpdev.ch1.HelloWorldServlet HelloWorldServlet /hello