Servlet——Web应用中的『控制器』

Tomcat是一个Http服务器,Servlet是一种实现动态页面的技术,是一组Tomcat提供给程序员的API,帮助程序员简单高效的开发一个web app。

        Servlet的工作:

  • 允许程序员注册一个类,当Tomcat收到某个特定的HTTP请求时,会执行这个类中的一些代码。
  • 解析HTTP请求,从一个字符串解析成一个HttpRequest对象。
  • 构造HTTP响应,程序员给指定的HttpResponse对象填写一些属性字段,Servlet就会自动的安装HTTP协议的方式构造一个HTTP响应字符串,通过Socket写回到客户端。

        Servlet程序实现步骤:

1.创建项目    2.引入依赖    3.创建目录    4.编写代码    5.打包程序    6.部署项目    7.验证程序

        1.创建项目

        使用idea创建一个maven项目

maven:工程管理工具,进行依赖的管理,maven工程不直接将jar包导入到工程中,而是通过在pom.xml中添加所需的jar包的坐标,这样就避免了jar直接引入进来,在需要用到jar包的时候,只要查找pom.xml文件,再通过pom.xml中的坐标,到一个专门用于存放jar包的仓库中根据坐标从而找到这些jar包,再把这些jar包拿去运行 。

1.构建工程, 2.管理jar, 3.编译代码, 4.自动运行单元测试, 5.打包 , 6.生成报表, 7.部署项目,生成web站点。 (孙悟空的金箍棒)

2. 引入依赖

在自动生成的pom.xml文件中,引入 Servlet API 依赖的jar包。

在中央仓库mvnrepository中搜索servlet

 servlet的版本要和Tomcat匹配(Tomcat8.5 对应  servlet3.1.0 ),将红框中的xml复制到pom.xml

 3.创建目录

在Java同级目录下,创建一个webapp目录,并在此目录下,创建一个WEB-INF目录,接着创建一个web.xml文件

编写web.xml文件 

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
     <display-name>Archetype Created Web Application</display-name>
</web-app>

webapp目录中通常会放一些静态资源:html,css...

 Tomcat 通过web.xml文件 才能正确处理webapp中的动态资源

4.编写代码

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;

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    //HttpServletRequest请求  HttpServletResponse响应   doGet是根据请求计算响应
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //super.doGet(req, resp);
        System.out.println("hello world");
        resp.getWriter().write("hello world");

    }
}

5.打包程序

需要打成war包,tomcat才能识别,因此需要在pom.xml中新增packaging标签,新增build标签,内置finalName标签可修改war包的名字

 <packaging>war</packaging>
    <build>
        <finalName>ServletHelloWorld</finalName>
    </build>
</project>

 双击package即可打包

 6.部署项目

7.验证程序 

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值