JavaWeb 【基础】 IDEA 创建javaweb项目,并使用servelet 开发简单接口

2023-11-16


初学javaweb的时候,通常会遇到很多坑,下面系统的做一个 javaweb项目创建的复习。


这里注意一下,如果要在idea创建javaweb项目需要 IDEA企业版,这里给个破解版的链接,大家自己琢磨下载一个。
https://www.52pojie.cn/thread-1062067-1-1.html
吾爱破解里面有很多教程的,不止这一个,自己看着教程去弄。

创建项目

(多图预警)
下载完企业版后。打开,点击new project,(博主用的是IDEA 2018的)
选择 Java Enterprise
配置好sdk , 勾选下方的 Web Application
在这里插入图片描述
如果没有配置tomcat 就点击new -> Tomcat Server ,选择路径
在这里插入图片描述
配置好tomcat后,点击ok,进入下一步,
在这里插入图片描述
输入项目名称,finish

在这里插入图片描述

配置web项目

通常刚刚创建的项目,WEB-INF文件夹下面只有web.xml
需要创建2个文件夹 lib , classes
在这里插入图片描述
在这里插入图片描述
然后打开 project structure
在这里插入图片描述
1.点击 Modules , 选择项目,点击path ,勾选 use modules compile output path,点击 … 选择路径
在这里插入图片描述
选择刚刚创建的 classes 文件
在这里插入图片描述
2个路径都要设置成一样的。然后apply , ok
在这里插入图片描述
在这里插入图片描述
配置tomcat
在这里插入图片描述
localhost 就是本地 ip: 127.0.0.1
一般来说这些配置都不用动,按自己的情况配置。
在这里插入图片描述

创建servelet

src -> new -> servelet

在这里插入图片描述

输入 servelet 名字,创建一个servelet文件:apitest
在这里插入图片描述

添加servelet路径映射

方法一:使用 web.xml 配置servelet映射:

此方法较为麻烦,打开web.xml 添加:

    <!-- 每个servelet 都要有 servlet-mapping 匹配 -->
    <servlet>
        <!-- servelet名字 -->
        <servlet-name>servelet_one</servlet-name>
        <!-- servelet类所在位置 -->
        <servlet-class>apitest</servlet-class>
    </servlet>

    <servlet-mapping>
        <!-- servelet名字 ,这里要和上面的名字一样-->
        <servlet-name>servelet_one</servlet-name>
        <!-- http 访问的映射路径 /api 映射到 apitest 类 -->
        <url-pattern>/api</url-pattern>
    </servlet-mapping>


    <servlet>
        <servlet-name>servelet_two</servlet-name>
        <servlet-class>apitest</servlet-class>
    </servlet>
    <servlet-mapping>

        <servlet-name>servelet_two</servlet-name>
        <url-pattern>/api2</url-pattern>
    </servlet-mapping>

上面配置了2个 映射路径 /api 和 /api2 都可以访问到 apitest 这个类
在这里插入图片描述
接下来启动tomcat试一下,点击右上角的 绿色启动按钮。

看到控制台这2句话就代表启动成功。
在这里插入图片描述
启动成功后会自动弹出来一个网页
在这里插入图片描述
这里的END 其实就是 index.jsp 这个文件。
在这里插入图片描述
想要更改默认访问文件,可以在web.xml 添加:

    <welcome-file-list>
        <welcome-file>默认访问的文件</welcome-file>
        <welcome-file>默认文件不存在,则访问这里的文件2</welcome-file>
        <welcome-file>文件2不存在,则访问这里的文件3</welcome-file>
        <welcome-file>同理.....</welcome-file>
    </welcome-file-list>

我们在web文件夹下新建一个test.html 试试
在这里插入图片描述
然后修改web.xml
在这里插入图片描述

重新启动tomcat,自动弹出test.html网页,成功
在这里插入图片描述
OK,回归正题。
启动成功后访问一下刚刚创建的 /api 接口,一片空白,因为我们没有返回任何数据
在这里插入图片描述
回到apitest 类文件,我们做一些修改。
在这里插入图片描述

@WebServlet(name = "apitest")
public class apitest extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //吧POST请求交给GET 方法处理
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置同源策略 (具体自行百度), * 表示通配符,所有ip都可以访问此接口,不安全,这里为了测试而设置的。通常看情况。
        response.setHeader("Access-Control-Allow-Origin", "*");
        //设置访问类型
        response.addHeader("Access-Control-Allow-Method", "POST,GET");
        //设置返回数据类型
        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        response.setHeader("Content-type", "text/html;charset=UTF-8");

        response.getWriter().write("访问成功!");
    }
}

重启tomcat,访问 localhost/api , 成功。
在这里插入图片描述

此方法较为麻烦,但是还是有必要记住的。

方法二:使用注解配置servelet映射

注解中添加 urlPatterns 字段。

接下来我们吧web.xml 清空。
在这里插入图片描述
修改 apitest类的注解:
@WebServlet(name = "apitest" ,urlPatterns = "/api")

或者可以简写成
@WebServlet("/api")
整体如下

@WebServlet(name = "apitest" ,urlPatterns = "/api")
public class apitest extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //吧POST请求交给GET 方法处理
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置同源策略 (具体自行百度), * 表示通配符,所有ip都可以访问此接口,不安全,这里为了测试而设置的。通常看情况。
        response.setHeader("Access-Control-Allow-Origin", "*");
        //设置访问类型
        response.addHeader("Access-Control-Allow-Method", "POST,GET");
        //设置返回数据类型
        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        response.setHeader("Content-type", "text/html;charset=UTF-8");

        response.getWriter().write("修改注解,访问成功!");
    }
}

重启tomcat ,继续访问 localhost/api
在这里插入图片描述
为了保证真实性,可以ctrl+ F5 强制刷新一下界面,清除缓存。


以上就是javaweb项目的简单例子。有什么错的,大家可以指出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaWeb 【基础】 IDEA 创建javaweb项目,并使用servelet 开发简单接口 的相关文章

随机推荐

  • openblas 第二弹: openblas Android版调用和编译

    1 编译 如果需要在Android下使用openblas 则需要编译Android版本的openblas a文件进行调用 1 openblas的编译时主要参考链接 参考链接一 参考链接二 具体细节太久了 已经忘了 下面是编译好的时候的环境变
  • Linux中普通用户和ROOT用户对Java JDK的配置

    Linux中对对各种工具文件不需要想Windows中似的 还要先一步一步的安装 有的还需要配置环境变量 比如Windows对Java的安装过程 在Linux中 使用指令 tar zxvf 文件名 注意空格 解压完 tar gz 文件 或使用
  • Spring事务实现原理

    Spring事务的原理是基于AOP实现的 所以流程也可以理解为与AOP一样分为3步 解析切面 织入通知和运行时增强 1 解析切面 Srping事务的是通过 EnableTransactionManagement注解开启的 该注解往IoC容器
  • 【逆向】使用CE查找Android中变量的偏移

    0x00 准备工作下载Cheat Engine以及调试器服务端 https www cheatengine org index php 夜神模拟器 https www yeshen com 下载安装贪婪洞窟 梦境模式 http a 4399
  • 【华为OD机试】路灯照明问题 (C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 题目描述 在一条笔直的公路上安装了N个路灯 从位置0开始安装 路灯之间间距固定为100米 每个路灯都有
  • oracle修改块大小设置,oracle性能调整(1)

    1调整数据库服务器的性能Oracle数据库服务器是整个系统的核心 它的性能高低直接影响整个系统的性能 为了调整Oracle数据库服务器的性能 主要从以下几个方面考虑 1 1Oracle 调整操作系统以适合Oracle数据库服务器运行数据库服
  • 利用PicGo+Gitee配置图床

    引言 配置图床 方便我们的使用 比如 我们利用typora写的笔记 直接把发送给别人也可以正常使用 不再会有由于本地图片 而加载不出来图片的情况 此外 图片文件遗失亦可以正常加载出来 因为图片已上传 这里已 Typora Gitee Pic
  • java String(一)—— Java中的String类型

    一 需要理解的代码 import java lang reflect Array import java util ArrayList import java util Arrays import java util HashMap imp
  • DNS服务器正向/反向解析配置

    第四次作业 题目 配置DNS正反向解析 一 正向解析 1 装包 2 配置服务 3 配置服务器 4 测试 1 yum install bind y 2 vim etc named conf 监听53号端口 访问的是本机ip 129 168 2
  • c++命名空间

    命名空间 主要解决全局变量的冲突 内部不允许私有变量 所有变量都是公有的 namespace data int x 10 data x 为域作用符 直接使用等同于使用全局变量 不存在就是0 不包含匿名命名空间内变量 同一个文件引用stati
  • 相见恨晚的办公插件合集(二)

    之前有分享过一些办公的插件 如不坑盒子 打工人插件 易用宝等 下面就简单的介绍一下上面的几个神器后再补充一些其它办公神器吧 不坑盒子 word wps 这是一个非常好用的插件工具 专门应用在Word文档和wps 支持Office 2010以
  • 拓数派入选中国信通院 “铸基计划”「高质量数字化转型产品及服务全景图」

    7 月 27 日 由中国信息通信研究院 以下简称 中国信通院 主办的 2023 数字生态发展大会 暨中国信通院 铸基计划 年中会议在京召开 本次大会深度展示了中国信通院在数字化领域的工作成果 并正式发布了 高质量数字化转型产品及服务全景图
  • GUI基础知识

    GUI编程 1 简介 图形用户界面 Graphical User Interface 又称图形用户接口 是指采用图形方式显示的计算机操作用户界面 GUI的核心技术 AWT Swing 2 Awt 2 1 AWT简介 AWT Abstract
  • springboot报错Could not autowire. No beans of ‘RedisConnectionFactory‘ type found

    这个报错提示是因为springboot升级到2 6 9以后版本就会出现 报错界面 其实上面报错不影响程序使用 但是总是觉得别扭 提供3种解决方式 第一种方案 springboot版本降到2 6 9或以下 第二种方案 通过idea设置不提示该
  • Unity&Webform(2):自定义LifetimeManager和TypeConverter使Unity从HttpContext中取值注入WebForm页面...

    上一篇 Unity WebForm 1 自定义IHttpHandlerFactory使用Unity对ASP NET Webform页面进行依赖注入中让Unity和WebForm结合在一起 通过使用HttpHandlerFactory实现了对
  • 模式匹配算法

    下面分别介绍 朴素模式匹配算法 和 改进模式匹配算法 KMP 朴素模式匹配算法思想 从目标S中的第一个字符开始和模式T中的的第一个比较 用 i 和 j 分别指示S串和T串中正在比较字符的位置 若相等 则继续逐个比较后续字符 否则 从S 的第
  • 【PYTHON】conda/pip一些命令记录

    查看环境 conda info env conda env list 删除某环境 conda remove n
  • 数据结构:设计实现抽象数据类型“有理数”内容

    题目 设计实现抽象数据类型 有理数 内容 设计并上机实现抽象数据类型 有理数 有理数的基本操作包括 两个有理数的加 减 乘 除等 包括有理数的创建和输出 要求 有理数的类型 我们可以构造成一个结构体类型 这个结构体由两个整数构成 分别表示有
  • 深入理解设计原则之最少知识原则/迪米特法则(LOD)【软件架构设计】

    系列文章目录 高级C 并发线程编程 C 高性能优化编程系列 软件架构设计系列 深入理解设计模式系列 不怕别人瞧不起 就怕自己不争气 Are not afraid to look down upon he was afraid his dis
  • JavaWeb 【基础】 IDEA 创建javaweb项目,并使用servelet 开发简单接口

    目录 创建项目 配置web项目 创建servelet 添加servelet路径映射 方法一 使用 web xml 配置servelet映射 方法二 使用注解配置servelet映射 初学javaweb的时候 通常会遇到很多坑 下面系统的做一