JAVA ServLet创建一个项目的基本步骤

 更新时间:2024年03月22日 10:56:52   作者:lzb_kkk  
Servlet是Server Applet的简称,是运行在服务器上的小程序,用于编写Java的服务器端程序,它的主要作用是接收并响应来自Web客户端的请求,下面这篇文章主要给大家介绍了关于JAVA ServLet创建一个项目的基本步骤,需要的朋友可以参考下

背景

Tomcat不仅支持静态页面,还可以支持动态页面;提供了一组api,封装了HTTP协议,可以让程序员去编写动态页面。

Servlet是一个比较古老的编写网站的方式了,2010之前,Java编写网站,主要使用Servlet的方式,后来Java出了Spring,对Servlet进一步封装(Spring是基于Servlet来实现的)。

Servlet主要的工作

就是让程序员自己写一些类,然后把这些类给加载到Tomcat中,后续Tomccat受到HTTP请求(来自浏览器),就会执行到咱们上面写的代码,从而通过这些代码完成一定的业务逻辑。

创建一个项目的基本步骤 

1.创建项目

此处创建的是一种新的项目的形式,称为Maven项目(Maven是Java世界中的一个知名构建工具,帮助编译/打包代码的工具)

PS:下图为新版的Maven项目创建方式,旧版的IDEA界面会有所不同

maven项目首次创建的时候,会自动从maven的网站上下载一些依赖的组件,这个过程如果你的网络不稳定,就可能会出错,影响后续对maven的使用。所以我们尽可能保证首次使用的时候,网络是畅通的。

随后可以看到默认生成一系列目录结构,main目录为业务代码,test目录为测试代码

2.引入依赖

接下来要写的程序,会使用Servlet,Servlet这个api是tomcat提供的,不是jdk提供的,属于第三方库,需要手动安装引入(与mysql类似)

但是手动下载导入比较麻烦,实际应用中涉及到的项目,可能依赖的内容非常多,手动管理就非常麻烦了。因此我们使用maven就可以非常方便的解决上述问题

1)打开maven中央仓库,找到需要的servlet的jar包

这边我们下载3.1.0版本的, 因为3.1.0版本是和tomcat 8 匹配的版本,servlet与tomcat的版本一定要匹配。如下是版本匹配对应的:

2)借助maven,自动下载上述依赖

复制这里的maven代码片段

进入项目的pom.xml 新建一个<dependencies>标签

 复制进来后,一般会自动下载,如果没有点一下如下的刷新按钮

如上,jar包会被下载到maven本地仓库

3.创建目录

maven 项目是普适的,不仅仅局限于Tomcat

而Tomcat来说,对于项目的目录结构,还有一些额外的要求。

如下是tomcat要求的目录结构,注意大小写!

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.编写代码

在java目录中,创建类.

doGet的意思是处理HTTP请求,当tomcat收到一个GET请求的时候,就有可能执行这个子类的方法;HttpServletRequest req(HTTP请求), HttpServletResponse resp(HTTP响应)

让下面这个类和一个HTTP请求路径关联起来

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
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //这个打印是显示在tomcat的控制台上(服务器端)
        System.out.println("hello world");
        //把内容显示到页面上,把“hello world”字符串作为http响应body的部分
        //这个部分就会被浏览器显示到页面上
        resp.getWriter().write("hello world");
    }
}

Tomcat不是收到所有的get请求都调用这个doGet方法,而是同时判断

  • 请求方法是get
  • 请求的url中的路径是 /hello

5.打包程序

打包程序,把咱们写好的代码打包成 war 包。(Tomcat需要有一个war包在上面)

maven就可以完成这个打包操作。步骤如下:

1)修改pom.xml,设置打包的类型和包名字,添加如下代码:

//默认情况下,打包的类型是jar包,这里tomcat的要求是war包
<packaging>war</packaging>
//设置包名字
<build>
    <finalName>hellojava</finalName>
</build>

2)在右侧maven面板中,双击package这个按钮 ,即可完成打包

出现如下字样,表示打包成功了。

 如果打包出现错误,可根据控制台的提示信息,进行修改。

一般有以下两种情况:

  • 打包操作,依赖了一些第三方的jar包,maven就会自动下载,如果下载过程中,网络不太顺畅,就容易出错
  • 代码里有问题(配置文件 ,pom.xml)

打包完成后,会新增一个target目录,包含一些临时文件

6.部署程序

把war包拷贝到webapps目录中即可,这里webapps目录在当初安装Tomcat目录下

选择新增的target目录下的war包

选择target目录下的war包,将它复制到wepapps目录下

接下来,启动tomcat即可。

7.验证程序

通过浏览器,访问tomcat,获取到咱们代码返回的hello world

总结 

到此这篇关于JAVA ServLet创建一个项目的基本步骤的文章就介绍到这了,更多相关ServLet创建项目步骤内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mybatis 如何批量删除数据的实现示例

    Mybatis 如何批量删除数据的实现示例

    这篇文章主要介绍了Mybatis 如何批量删除数据的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Spring扩展BeanFactoryPostProcessor使用技巧详解

    Spring扩展BeanFactoryPostProcessor使用技巧详解

    这篇文章主要为大家介绍了Spring扩展BeanFactoryPostProcessor使用技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Spring SseEmitter推送消息及常用方法

    Spring SseEmitter推送消息及常用方法

    SseEmitter 是 Spring Framework 提供的用于支持 Server-Sent Events(SSE)的类,它允许服务器端向客户端推送事件流,实现服务器到客户端的单向通信,这篇文章主要介绍了Spring SseEmitter推送消息,需要的朋友可以参考下
    2024-07-07
  • SpringSecurity跨域请求伪造(CSRF)的防护实现

    SpringSecurity跨域请求伪造(CSRF)的防护实现

    本文主要介绍了SpringSecurity跨域请求伪造(CSRF)的防护实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • java进行error捕获和处理示例(java异常捕获)

    java进行error捕获和处理示例(java异常捕获)

    通常来说,大家都是对Java中的Exception进行捕获和进行相应的处理,有些人说,error就无法捕获了。其实,error也是可以捕获的。Error和Exception都是Throwable的子类。既然可以catch Throwable,那么error也是可以catch的
    2014-01-01
  • IDEA快速部署Spring Boot 项目到Docker的实现方法

    IDEA快速部署Spring Boot 项目到Docker的实现方法

    本文主要介绍了IDEA快速部署Spring Boot 项目到Docker的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Eclipse运行android项目报错Unable to build: the file dx.jar was not loaded from the SDK folder的解决办法

    Eclipse运行android项目报错Unable to build: the file dx.jar was not

    今天小编就为大家分享一篇关于Eclipse运行android项目报错Unable to build: the file dx.jar was not loaded from the SDK folder的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 详解Spring注解@Validated 失效分析

    详解Spring注解@Validated 失效分析

    这篇文章主要介绍了Spring注解@Validated失效分析,文中有详细代码示例讲解了@Validated为何失效,需要的小伙伴可以参考一下
    2023-04-04
  • Java 变量类型及其实例

    Java 变量类型及其实例

    这篇文章主要讲解Java中变量的类型以及实例,希望能给大家做一个参考
    2017-04-04
  • 详解Maven项目Dependencies常见报错及解决方案

    详解Maven项目Dependencies常见报错及解决方案

    这篇文章主要介绍了详解Maven项目Dependencies常见报错及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论