Servlet是Java编写的服务器端程序,主要用于接收和响应来自客户端的请求。Servlet运行在支持Java的Web服务器上,如Tomcat。
1. 运行流程
- 客户端发送请求到Web服务器。
- Web服务器接收请求并将其转发给Servlet容器。
- Servlet容器调用
相应的Servlet
来处理请求。 - Servlet生成响应并将其发送回Web服务器。
- Web服务器将响应返回给客户端。
2. 相关语法
- 所有Servlet都必须继承自
javax.servlet.http.HttpServlet
类。 - Servlet通过覆盖doGet()或doPost()方法来处理GET或POST请求。
- 在web.xml文件中
配置Servlet的映射关系
。 - 可以使用注解
@WebServlet
来简化Servlet的映射配置。 - 可以通过
HttpServletRequest
对象获取请求信息,通过HttpServletResponse
对象生成响应。
代码如下
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/content")
public class ContentTypeServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置响应内容类型
response.setContentType("text/html");
// 实际的内容
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Content-Type Example</title></head>");
out.println("<body>");
out.println("<h1>Hello, Content-Type!</h1>");
out.println("</body></html>");
}
}
上面代码中,创建了一个名为ContentTypeServlet的Servlet,并在doGet()方法中设置了响应的Content-Type为"text/html"。然后向客户端发送一个简单的HTML页面作为响应内容。