Java Servlet(Java 服务器小程序) 是用Java编写的服务器端的程序(注意它是运行在服务器端的),是用来处理客户请求的。
一、它是用java编写的,因此拥有Java的很多优点:可移植性、安全、简洁、集成、可扩展性等等。
只有通过服务器才能访问到Servlet,若服务器上有防火墙,就相当于给Servlet也加了一层防火墙,因此是安全的
二、Servlet的生命周期有以下几个阶段:
(1) 加载。这一阶段是动态执行的
(2) 实例化。创建一个Servlet实例(new一个Servlet对象)。注意:只有一个对象来处理不同的请求。
(3) 初始化。调用init()方法来初始化,并且也是只有一次
(4) 服务(处理请求)。若容器接受到对此Servlet的请求,容器就会调用Servlet的service()方法。若是Web服务器,则由service()方法再调用doGet()或doPost()方法来处理请求。
(5) 销毁。调用destroy()方法来销毁Servlet。
三、基于Http协议的Servlet要继承HttpServlet抽象类,该类继承了Servlet的大部分功能。
基于Http协议的Servlet要处理来自客户端的多种请求,其中包括:GET(用户在浏览器地址栏重输入URL、单击Web页面中的超链接、提交没有指定METHOD的表单等等都属于GET请求) 、POST、PUT、HEAD、OPTIONS、DELETE、TRACE等;
Servlet端处理请求的方法分别是:doGet()、doPost()、doPut()、doHead()、doDelete()等等以此类推。
下面是一个Servlet:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ThreeParams extends HttpServlet {
//方法有两个参数,这是固定的;并分别抛出这两个异常
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();//获得输出流
out.println(request.getParameter("params11"));//向输出流输出客户提交的参数为params11对应的value
out.println("<br>");//大多数时候输出的是HTML,如:out.println(“DOCTYPE HTML PUBLIC /”- //W3C//DTD HTML 4.0……);
out.println(request.getParameter("params12"));
out.println("<br>");
out.println(request.getParameter("params13"));
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);//调用doPost()方法时,它会调用doGet()方法,两者的处理方式是完全一样的。
}
}
Ps:在写输出时有一种常用方法,就是再定义一个类,其中有一个静态变量(为了可以在静态方法中用),有一个静态方法(为了能直接用类来调用而不用再创建对象调用了,静态方法接受传来的title参数)
四、 Jsp与Servlet的内置对象的对应关系:
Request --- javax.Servlet.http.HttpServletRequest和javax.Servlet.ServletRequest
Response --- javax.Servlet.http.HttpServletResponse和javax.Servlet.ServletResponse
Session ---- javax.Servlet.http.HttpSession
Application --- javax.Servlet.http.ServletContext
Config ----- javax.Servlet.http.ServletConfig
五、用MyEclipse开发Servlet的工作流程:
1、 在MyEclipse上建一Project,---àWeb Project ----à 完成
2、 Project Deployments,选中project后点Add,server选Tomcat ,完成。
3、 修改Web-INF目录下的web.xml.
4、 建一Class继承HttpServlet即可.