在 Java 中,Servlet 是运行在 Web 服务器(如 Tomcat)上的组件,用于接收 HTTP 请求并生成响应。下面从整体流程到常见处理方式给你讲清楚。
http://localhost:8080/app/helloHttpServletRequestHttpServletResponsedoGet() / doPost() 等public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 处理 GET 请求
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 处理 POST 请求
}
}
| HTTP 方法 | Servlet 方法 |
|---|---|
| GET | doGet |
| POST | doPost |
| PUT | doPut |
| DELETE | doDelete |
String name = req.getParameter("name");
String userAgent = req.getHeader("User-Agent");
String method = req.getMethod();
String uri = req.getRequestURI();
String url = req.getRequestURL().toString();
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
out.write("Hello Servlet");
resp.setContentType("application/json;charset=UTF-8");
resp.getWriter().write("{\"msg\":\"success\"}");
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
}
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.example.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
req.getRequestDispatcher("/result.jsp").forward(req, resp);
resp.sendRedirect("result.jsp");
init() —— 初始化(只一次)service() —— 每次请求调用doGet / doPostdestroy() —— 销毁@WebServlet("/login")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
String user = req.getParameter("username");
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write("欢迎:" + user);
}
}
如果你愿意,我也可以:
你想看哪一个?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。