目录
- 5.1 Servlet要求
- 5.2 创建Servlet
- 5.3 第一个Servlet
- 5.4 Servlet编译
- 5.5 Servlet配置
5.1 Servlet要求
如果要开发一个可以处理HTTP请求的Servlet程序,首先是要继承HttpServlet类,而且在自定义的Servlet类中至少还要覆写HttpServlet类中提供的doGet()方法
• protected void doGet(HttpServletRequest req,HttpServletResponseresp) throws ServletException,IOException
5.2 创建Servlet
1.XXX extends HttpServlet
2.Override doGet doPost
3.copy to WEB-INF/classes
4.web.xml
1.<servlet><servlet-name><servlet-class></servlet>
2.<servlet-mapping><url-pattern> /
5.restart server
5.3 第一个Servlet
Servlet示例 HelloWorldServlet.java
• 需求:
编写一个生成纯文本的简单的Servlet类。• 目的:
了解Servlet的基本概念
• 在web.xml的配置
• 引入用到的包
• import javax.servlet.*;
• import javax.servlet.http.*;
• import java.io.*;
• 定义类并继承HttpServlet
• public class FirstServlet extends HttpServlet
• 编写成员方法
• 主要是重写方法doGet或doPost,成员方法service,根据浏览器请求的HTTP方法是get还是post,选择覆盖相应的方法doGet或doPost,通过接口传递的request和response对象接受客户请求,并作出响应。
• 必要时编写init、 destroy方法。
package com.org;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorldServlet extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{
PrintWriter out=resp.getWriter();
out.println("<html><head><title>HelloWorldServlet</title></head>");
out.println("<body><h1>Hello World!!!</h1>");
out.println("</body></html");
out.close();
}
}
如何得到web.xml文件?
在Tomcat安装目录下的webapps\Root\WEB-INF文件夹中可以找到web.xml文件,直接复制此文件再修改,不需要重新编写。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xmlns.jcp.org/xml/ns/javaee
https://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.org.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
</web-app>
Servlet 3.0中Servlet配置,不再需要在web.xml中配置访问的URL,直接在Servlet类中添加注解配置
package com.org;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/HelloServlet")
public class HelloWorldServlet extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{
PrintWriter out=resp.getWriter();
out.println("<html><head><title>HelloWorldServlet</title></head>");
out.println("<body><h1>Hello World!!!</h1>");
out.println("</body></html");
out.close();
}
}
5.4 Servlet编译
• (1)Servlet是一个java类,可以使用任何java编译器进行编译(如使用Javac编译生成class文件)。
• (2)在eclipse中,保存文件时会自动编译。
5.5 Servlet配置
配置Servlet,以便能够被调用• 在应用的配置文件web.xml(位于WEB-INF下)中进行配置• 配置包括两部分,第一部分是Servlet的声明,第二部分是Servlet访问方式的设置。
• 首先是Servlet的声明
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.org.HelloWorldServlet</servlet-class>
</servlet>
• 配置访问该Servlet的方式
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)