Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。Web 应用程序开发人员通常编写 Servlet 来扩展 javax.servlet.http.HttpServlet,并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求。
Hello World 示例代码
下面是 Servlet 输出 Hello World 的示例源代码:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;public class test extends HttpServlet {private String message;public void init() throws ServletException{// 执行必需的初始化message = "Hello World,java";}public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{// 设置响应内容类型response.setContentType("text/html");// 实际的逻辑是在这里PrintWriter out = response.getWriter();out.println("get=" + message + "
");}protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{// 设置响应内容类型response.setContentType("text/html");// 实际的逻辑是在这里PrintWriter out = response.getWriter();out.println("post=" + message + "
");}public void destroy(){// 什么也不做}
}
Web工程设置
设置
(1)在WEB-INF目录下点击右键,选择New-->Driectory,分别创建 classes 和 lib两个目录
(2)左上角选择 File-->Project Structure...,进入Project Structure,选择Modules-->选择项目"servletTest02"-->切换到Paths选项卡-->勾选"Use module compile output path",将“Output path”和"Test output path"都改为之前创建的classes目录。设置好后 先别关掉该窗口,下面一步还得用到
(3)在同样的界面,选中Dependencies选项卡-->点击右边的 “+”,选择"JARs or directories...",选择创建的lib目录,选择Jar Direcotry。
测试运行JSP
在index.jsp中的body中输入 Hello world字符串:
然后点击屏幕右上角 运行 按钮
在浏览器中输入 http://localhost:8080就能看到运行效果了:
以上就是一个简单的JavaWeb工程,下面介绍在这个工程上面创建一个Servlet
创建Servlet
在src目录下新建test类,让它继承HttpServlet,并且实现doGet方法,在方法内部中写返回数据
代码:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;public class test extends HttpServlet {private String message;public void init() throws ServletException{// 执行必需的初始化message = "Hello World,java";}public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{// 设置响应内容类型response.setContentType("text/html");// 实际的逻辑是在这里PrintWriter out = response.getWriter();out.println("get=" + message + "
");}protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{// 设置响应内容类型response.setContentType("text/html");// 实际的逻辑是在这里PrintWriter out = response.getWriter();out.println("post=" + message + "
");}public void destroy(){// 什么也不做}
}
配置web.xml
在WEB-INF目录下的web.xml中配置配置
hello test hello /hi
测试验证
在浏览器中输入http://localhost:8080/hi
这里的端口后面的 /hi 就是刚才在web.xml中配置的servlet-mapping
或者点击屏幕右上角 运行 按钮