服务器学习笔记之servlet
初衷
想学习下服务器这边的知识,制定了一条学习路线:java8--->servlet--->springMvc--->springBoot--->springCloud。在此当做学习笔记。
本文开发环境是IDEA正式版。
概念
servlet本质是一个java接口,这个接口定义了处理网络请求的一组规范或需求描述。
servlet容器将请求分发给servlet,由特定的servlet处理请求。
常见的servlet容器如Tomact。
主要方法
- init() :初始化servlet
- service() :处理客户端请求
- destroy() :终止servlet(servlet由JVM进行垃圾回收)
servlet实例
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/MyServlet") public class MyServlet extends HttpServlet { private String message; public void init() throws ServletException { message="Hello World"; } protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); PrintWriter writer=resp.getWriter(); writer.println("<h2 style='color:red'>"+message+"</h2>"); } protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req,resp); } @Override public void destroy() { super.destroy(); } }
说明:
- 我们的api中已经有两个实现好servlet接口的类,分别是HttpServlet和GenericServlet,通常自己只需要继承HttpServlet类即可。
- @WebServlet注解用来标注URL和servlet的映射。(还有一种配置方法是在web.xml中配置servlet,请看下面说明)
- PrinterWriter是字符类型的打印输出流,继承于Writer。
在web.xml中配置servlet
<!--配置servlet--> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.gree.servlet.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/MyServlet</url-pattern> </servlet-mapping>
说明:
- servlet-name:要注册的servlet名称。
- servlet-class:指向要注册的servlet类的地址,包名加类名。
- url-pattern:配置注册的servlet组件的访问路径。
- 注意上下两个servlet-name要一致。
以上是一个servlet最简单的例子,但仅仅是关于servlet。
贴上两个优秀的手把手建web项目指导帖,大家可以参考下,人家写的很详细我就不重复了。有不懂的问题欢迎私信,一起学习啊~
idea搭建web工程帖:https://www.cnblogs.com/Sinte-Beuve/p/5730553.html
好吃,半只就够了~