简介
- Servlet 是Server与Applet的缩写,是服务端小程序的意思,java语言编写,可以动态生成web页面。(想实现web开发,需要满足Servlet标准)
- 本质上是一个Java类,满足Servlet规范,没有main()方法,创建,使用,销毁都是由Servlet容器管理(Tomcat),
- 提供了Servlet功能的容器,有Tomcat,Jetty,Apache等等,
- 和Http紧密联系,可以处理协议相关内容。
创建web项目
- web项目目录结构(src: 放java源代码 ; web 放资源文件 out放编译文件)
- 站点明名(项目路径),下下图的位置修改。
-
实现Servlet
- 创建一个普通的Java类
- 实现Servlet规范,继承HttpServlet类,(该类中已经完成了通信的规则,我们只需业务的实现即可)
- 重写 Service方法 (满足Servlet规范只是可以接受请求:要对请求进行处理,需要重写Service方法;Service方法是专门用来做请求处理的操作,只要用到Servlet类,该方法会被自动执行 所以业务代码写在Service方法中 )
看到Service方法中有两个参数,请求和响应;@Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.service(req, resp); }
- 设置注解,由于web无法直接访问java类,使用@WebServlet将一个继承于import javax.servlet.http.HttpServlet;的类定义为Servlet组件;也可以使用@WebServlet将一个继承于import javax.servlet.http.HttpServlet;的类标注为处理用户请求的Servlet
WebServlet 注解后面的路径是资源路径,浏览器访问时,在项目路径后加入资源路径即可访问到资源。
总结
- 可以新键包,新键一个普通java类
- 继承HttpServlet类(符合Servlet规范)
- 重写HttpServlet类中的Service方法,接受请求响应结果。(方法在Servlet类被访问时自动调用)
- 在类上添加注解@WebServlet (设置Servlet类的访问路径,理解为资源路径,资源的对外访问路径,浏览器通过访问该路径从而访问到Servlet类)
注意
- 【注意】:Service方法是由服务器自动调用的(当Servlet类被访问时);
- 【注意】:设置Servlet类的对外访问路径时,需要添加“/”
- 【注意】:在同一个项目下:Servlet类的对外访问路径唯一
- 【注意】:访问Servlet类时,路径格式如下:http://localhost:8080/项目路径/资源路径
- 【注意】:项目路径 又叫 站点名,对外访问路径,Tomcat中Deployment中设置Application Context
- 【注意】:资源路径,Servlet类对外访问路径,通过@WebServlet注解
- 【注意】:注解 写法有多种不介绍了哈~
- 【注意】:实现Servlet方法除了上述还有两种不常用的,(1:继承HttpServlet的父类,GeneriService;2:实现Servlet接口)