Maison >interface Web >tutoriel HTML >Servlet学习_html/css_WEB-ITnose
学习网站来自www.imooc.com
Servlet基础
1、什么是Servelet?
Servelet 是服务器上运行的小程序。一个人Servlet就是一个Java类
,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内存里
的Servlet 程序。Servlet是jsp的前身。
2、Tomcat容器等级
Tomcat的容器分为四个等级,Servlet的容器管理Context容器,一个
Context对应一个Web工程。Engine是一个引擎容器;Host是主机容器。
3、编写一个Servlet
分为三个步骤。
1.编写一个类继承HttpServlet
2.重写doGet()或者doPost()方法;取决于提交方式。
3.在web.xml中注册Servlet.
程序如下:
index.jsp中的代码:
<body> <h1>第一个Servlet小例子</h1> <hr> <!-- 用get方式请求,写一个超链接就可以了;超链接访问就是get请求--> <a href="servlet/HelloServlet">get方式请求HelloServlet</a><br> <!-- 用post方式,做一个表单就可以实现 --> <form action="servlet/HelloServlet" method="post"> <input type="submit" value="post方式请求HelloServlet"/> </form> </body>
HelloServlet.java中的代码:
package 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;//继承于HttpServletpublic class HelloServlet extends HttpServlet {//重写方法 @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("处理Get()请求..."); //获得一个给浏览器输出的对象out,类型为 PrintWriter PrintWriter out = response.getWriter(); //指定输出文件的类型 response.setContentType("text/html;charset=utf-8"); //用out对象给浏览器输出一个信息。可以在里面用html的代码 out.println("<strong>Hello Servelet!</strong><br>"); //3.注册;在WEB-INF里面的web.xml中注册 } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("处理post()请求..."); //获得一个给浏览器输出的对象out,类型为 PrintWriter PrintWriter out = response.getWriter(); //指定输出文件的类型 response.setContentType("text/html;charset=utf-8"); //用out对象给浏览器输出一个信息。可以在里面用html的代码 out.println("<strong>Hello Servelet!post</strong><br>"); //3.注册;在WEB-INF里面的web.xml中注册;已经注册完 就不用重复 }}
web.xml中的注册代码:
注册的过程就是在web.xml中添加两个标签
并且每个标签里都要包含两个子标签
在
在
Servlet取一个名字(注:和上面的名字要一样)和
Servlet访问的路径
<servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>Servlet.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/servlet/HelloServlet</url-pattern> </servlet-mapping>