Servlet的使用与部署

目录

Servlet概念

创建一个Servlet程序

1、创建项目

2、导入依赖 

        3、创建目录  

4、编写代码

5、打包程序

6、部署程序

7、验证程序


Servlet概念

        Servlet 是一种实现动态页面的技术 . 是一组 Tomcat 提供给程序猿的 API, 帮助程序猿简单高效的开发一个 web app.
Servlet 主要做的工作:
  • 允许程序猿注册一个类, Tomcat 收到某个特定的 HTTP 请求的时候, 执行这个类中的一些代码.
  • 帮助程序猿解析 HTTP 请求, HTTP 请求从一个字符串解析成一个 HttpRequest 对象
  • 帮助程序猿构造 HTTP 响应 . 程序猿只要给指定的 HttpResponse 对象填写一些属性字段 , Servlet就会自动的安装 HTTP 协议的方式构造出一个 HTTP 响应字符串 , 并通过 Socket 写回给客户端 .

创建一个Servlet程序

1、创建项目

使用 IDEA 创建一个 Maven 项目 .
        1. 菜单 -> 文件 -> 新建项目 -> Maven

2、导入依赖 

        Maven 项目创建完毕后 , 会自动生成一个 pom.xml 文件, 我们需要在 pom.xml 中引入 Servlet API 依赖的 jar .

        在Maven中央仓库https://mvnrepository.com/ 搜索Servlet进行下载

选择下载的servlet api包的版本

Servlet 的版本要和 Tomcat 匹配 .
可以在 http://tomcat.apache.org/whichversion.html 查询版本对应关系

把中央仓库中提供的 xml 复制到项目的 pom.xml

 

3、创建目录  

1)在 main 目录下 , java 目录并列 , 创建一个 webapp 目录
2)在刚创建的webapp文件夹下创建文件夹WEB-INF,然后在该文件夹下创建web.xml
3)在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>

4、编写代码

在main目录下创建一个HelloServlet类:

@WebServlet("/hello")  
public class HelloServlet extends HttpServlet {
    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("hello Servlet");
        resp.getWriter().write("hello Servlet");
    }
}

  • HttpServletRequest 表示 HTTP 请求。  Tomcat 按照 HTTP 请求的格式把 字符串 格式的请求转成了一个 HttpServletRequest 对象
  • HttpServletResponse 表示 HTTP 响应。 代码中把响应对象构造好 ( 构造响应的状态码 , header, body 等 )
  • resp.getWriter() 会获取到字符流对象 , 通过字符流对象就可以写入一些数据 , 写入的数据会被构造成一个 HTTP 响应的 body 部分 , Tomcat 会把整个响应转成字符串 , 通过 socket 写回给浏览器.

 注意点:

1、我们的代码不是通过 main 方法作为入口了. main 方法已经被包含在 Tomcat 里, 我们写的代码会被 Tomcat 在合适的时机调用起来. 此时我们写的代码并不是一个完整的程序, 而是 Tomcat 这个程序的一小部分逻辑.
2、我们随便写个类都能被 Tomcat 调用嘛? 满足啥样条件才能被调用呢?
主要满足三个条件:
a) 创建的类需要继承自 HttpServlet
b) 这个类需要使用 @WebServlet 注解关联上一个 HTTP 的路径
c) 这个类需要实现 doXXX 方法.
当这三个条件都满足之后, Tomcat 就可以找到这个类, 并且在合适的时机进行调用.

5、打包程序

点击maven->package,就可以打包程序了 

出现以下信息则打包成功 

注意点:如果想要修改打包的压缩包名字,可以在pom.xml文件里面增加如下代码:

<!-- war为tomcat打包压缩包的后缀-->
<packaging>war</packaging>
<!--    hello_servlet为自己想要修改打包压缩包的名字-->
    <build>
        <finalName>hello_servlet</finalName>
    </build>

6、部署程序

war 包拷贝到 Tomcat webapps 目录下, 启动 Tomcat , Tomcat 就会自动把 war 包解压缩

 

 

7、验证程序

运行Tomcat文件 :startup.bat ,在浏览器输入运行文件路径,观察结果

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Servlet 是一种 Java Web 应用程序组件,它可以处理客户端请求并生成动态响应。要部署一个 Servlet,需要完成以下步骤: 1. 编写 Servlet 类:创建一个类,实现 javax.servlet.Servlet 接口或者扩展 javax.servlet.http.HttpServlet 类。 2. 编写 web.xml 文件:在 WEB-INF 目录下创建 web.xml 文件,配置 Servlet 的映射和初始化参数等信息。 3. 将 Servlet部署到 Web 应用程序中:将编写好的 Servlet 类打包成一个 WAR 文件,将 WAR 文件放置在 Web 服务器的 webapps 目录下。 4. 启动 Web 应用程序:启动 Web 服务器,让其自动解压 WAR 文件,并将其中的 Servlet 类加载到内存中。 5. 访问 Servlet:在浏览器中输入 URL 地址,即可访问 Servlet。 例如,假设编写了一个名为 HelloServletServlet 类,它的 URL 映射为 /hello,可以按照以下步骤部署和运行: 1. 编写 HelloServlet 类: ```java public class HelloServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>HelloServlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Hello, world!</h1>"); out.println("</body>"); out.println("</html>"); } } ``` 2. 编写 web.xml 文件: ```xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.example.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app> ``` 3. 将 HelloServlet部署到 Web 应用程序中:将编写好的 HelloServlet 类打包成一个名为 hello.war 的 WAR 文件,将 WAR 文件放置在 Web 服务器的 webapps 目录下。 4. 启动 Web 应用程序:启动 Web 服务器,让其自动解压 hello.war 文件,并将其中的 HelloServlet 类加载到内存中。 5. 访问 Servlet:在浏览器中输入 URL 地址 http://localhost:8080/hello,即可访问 HelloServlet,输出 "Hello, world!"。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值