目录
一、Servlet 是什么?
主要工作:
第一个Servlet项目:
编写代码
打包程序
一、Servlet 是什么?
 
 Servlet  
 是一款基于HTTP协议,用来开发Java Web,运行在Tomcat里面的里的框架技术。 
 
 
 一种实现动态页面的技术 
 .  
 是一组 
  Tomcat  
 提供给程序猿的 
  API,  
 帮助程序猿简单高效的开发一个 web app.  
 
 
主要工作:
  1.建立连接:客户端和程序的连接(当用户输入了请求URL后,程序能感应到用户的请求)。 
 
  2.获取用户请求参数:处理request对象。 
 
  3.将服务器处理结果返回给客户端:返回response对象。 
 
 
第一个Servlet项目:
  前置条件:配置国内源,创建一个Maven项目 
 
 
 
注意此处名字和存储地址不要有中文
 
 
点击finish,Maven项目创建成功,点击main,创建一个java文件

 右键java,创建java源代码根目录
添加Servlet框架,在pom.xml中导入依赖,打开中央仓库mvnrepository.com

 
点击第一个,然后选择与tomcat版本相关的版本,本人下载的是8.5版本

 
 点击进去自动复制
 导入依赖
 

点击刷新,成功导入

1) 在 main 目录下, 和 java 目录并列, 创建一个 webapp 目录 (注意, 不是 webapps)
 
 2)  
 创建 
  web.xml  
 
 
 然后在 webapp 目录内部创建一个 WEB-INF 目录, 并创建一个 web.xml 文件  
 
 
webapp 目录就是未来部署到 Tomcat 中的一个重要的目录 . 当前我们可以往 webapp 中放一些静态资源, 比如 html , css 等 .在这个目录中还有一个重要的文件 web.xml. Tomcat 找到这个文件才能正确处理 webapp 中的动态资源.
编写代码
 
  在 
   java  
  目录中创建一个类 
   HelloServlet,  
  代码如下 
  :  
 
 
 @WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException {
        System.out.println("hello");
        resp.getWriter().write("hello");
   }
}- 创建一个类 HelloServlet , 继承自 HttpServlet
- 在这个类上方加上 @WebServlet("/hello") 注解, 表示 Tomcat 收到的请求中, 路径为 /hello 的请求才会调用 HelloServlet 这个类的代码. (这个路径未包含 Context Path)
- 重写 doGet 方法. doGet 的参数有两个, 分别表示收到的 HTTP 请求 和要构造的 HTTP 响应. 这个方法会在 Tomcat 收到 GET 请求时触发
- HttpServletRequest 表示 HTTP 请求. Tomcat 按照 HTTP 请求的格式把 字符串 格式的请求转 成了一个 HttpServletRequest 对象. 后续想获取请求中的信息(方法, url, header, body 等) 都是 通过这个对象来获取.
- HttpServletResponse 表示 HTTP 响应. 代码中把响应对象构造好(构造响应的状态码, header,body 等)
- resp.getWriter() 会获取到一个流对象, 通过这个流对象就可以写入一些数据, 写入的数据会被
- 构造成一个 HTTP 响应的 body 部分, Tomcat 会把整个响应转成字符串, 通过 socket 写回给浏览器.
打包程序
 
   使用 
    maven  
   进行打包 
   .  
   打开 
    maven  
   窗口 
    ( 
   一般在 
    IDEA  
   右侧就可以看到 
    Maven  
   窗口 
   ,  
   如果看不到的话 
   ,  
  
 
   
   可以通过 菜单 
    -> View -> Tool Window -> Maven  
   打开 
   )  
  
 
   
   然后展开 
    Lifecycle ,  
   双击 
    package  
   即可进行打包 
   .  
  
 
   
 
  
 
   如果比较顺利的话, 能够看到 SUCCESS 这样的字样 
   .  
  
 
   
   
 
  
 
   打包成功后 
   ,  
   可以看到在 
    target  
   目录下 
   ,  
   生成了一个 
    war  
   包 
   .  
  
 
  war 包和 jar 包的区别jar 包是普通的 java 程序打包的结果 . 里面会包含一些 .class 文件 .war 包是 java web 的程序 , 里面除了会包含 .class 文件之外 , 还会包含 HTML, CSS, JavaScript, 图片, 以及其他的 jar 包 . 打成 war 包格式才能被 Tomcat 识别 .

 
 
将这个war包放在tomcat的webapps根目录下

打开Tomcat的startup.bat,出现startup启动成功

在浏览器中输入网址
 
页面显示hello,Servlet项目创建成功





![[元带你学: eMMC协议详解 18] eMMC的后台操作(Background Operations)](https://img-blog.csdnimg.cn/img_convert/262abfa94e2b5642120b21810384ce4b.png)












