码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • servlet 教程 1:环境搭建和新建 servlet 项目


    Servlet(Server Applet)是 Java Servlet 的简称,称为小服务程序或服务连接器。狭义的 Servlet是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者

    从本文开始,笔者会将 servlet 相关的用法做一个汇总,方便工作时查看和使用

    环境准备,需要已经安装 Java 和 Tomcat,如果没有安装可以参考

    Java 安装:https://blog.csdn.net/wsjzzcbq/article/details/87926635

    Tomcat 安装:https://blog.csdn.net/wsjzzcbq/article/details/87953594

    Eclipse 或 STS 继承 Tomcat:https://blog.csdn.net/wsjzzcbq/article/details/102687559

    开发工具使用 STS

    目录

    1、新建 servlet 项目

    2、新建 web.xml 文件

    3、新建 DemoServlet

    4、运行项目


    1、新建 servlet 项目

    打开 eclipse 或 sts 编辑器

    新建 servlet 项目,依次点击 File、New、Other...

     找到 Web、选择 Dynamic Web Project

     项目名称

    点击 Finish 

    servlet 项目创建完成

    2、新建 web.xml 文件

    在 WEB-INF 目录下新建 web.xml 文件(这个文件可以不用建,因为 Servlet 3.0 引入了注解可以替代 web.xml 文件配置,这里为了演示 xml 方式配置 servlet)

    新建 web.xml 文件

     点击 Source,将 web.xml 3.0 文件内容复制到 Source 中

    web.xml 3.0 文件内容

    1. <web-app version="3.0"
    2. xmlns="http://java.sun.com/xml/ns/javaee"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
    4. http://www.springmodules.org/schema/cache/springmodules-cache.xsd
    5. http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd"
    6. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    7. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    8. web-app>

    3、新建 DemoServlet

    新建 DemoServlet

    然后将 DemoServlet 继承 HttpServlet

    如果项目无法引包 HttpServlet,则需要为项目配置 server 环境,步骤如下

    项目右键 Build Path、Configure Build Path...

    点击 Add Library... 

    选择 Server Runtime

     选择 Tomcat

     Finish

     点击 Apply and Close

    配置完成

    DemoServlet 继承 javax.servlet.http.HttpServlet,重写 doGet、doPost 方法

    DemoServlet 完整代码

    1. package com.learn;
    2. import java.io.IOException;
    3. import javax.servlet.ServletException;
    4. import javax.servlet.http.HttpServlet;
    5. import javax.servlet.http.HttpServletRequest;
    6. import javax.servlet.http.HttpServletResponse;
    7. public class DemoServlet extends HttpServlet{
    8. @Override
    9. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    10. System.out.println("get请求");
    11. }
    12. @Override
    13. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    14. System.out.println("post请求");
    15. }
    16. }

    在 web.xml 文件中配置 DemoServlet

    1. <web-app version="3.0"
    2. xmlns="http://java.sun.com/xml/ns/javaee"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
    4. http://www.springmodules.org/schema/cache/springmodules-cache.xsd
    5. http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd"
    6. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    7. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    8. <servlet>
    9. <servlet-class>com.learn.DemoServletservlet-class>
    10. <servlet-name>demoServletservlet-name>
    11. servlet>
    12. <servlet-mapping>
    13. <servlet-name>demoServletservlet-name>
    14. <url-pattern>/demourl-pattern>
    15. servlet-mapping>
    16. web-app>

    配置说明

    servlet-class: 配 servlet 全路径

    servlet-name: 自定义,和 servlet-mapping 中 name 保持一致

    url-pattern: servlet 对应的请求 url

    4、运行项目

    在项目上右键 Run As、Run on Server

    选择 Tomcat ,Finish

    浏览器请求:http://localhost:8080/servlet-learn/demo

    运行效果

    servlet 请求成功

    servlet 环境搭建完成 

    至此完

    下一篇:servlet 教程 2:返回 jsp 页面

  • 相关阅读:
    Java面试——RPC协议
    2 万字 + 20张图| 细说 Redis 九种数据类型和应用场景
    Tomcat中间件打印请求日志
    程序启动-大数据平台搭建
    python+pytest接口自动化(11)-测试函数、测试类/测试方法的封装
    文件系统理论详解,Linux操作系统原理与应用
    点灯科技实现 “ESP8266-01/01s + 继电器” 远程开关
    Nginx modules build fail:field ‘pkt6’ has incomplete type
    ofxTimeMeasurements——OpenFrameworks插件,可以轻松测量C++代码任何部分的执行时间
    【C++】C++ 类中的 this 指针用法 ② ( 常量成员函数 | const 修饰成员函数分析 )
  • 原文地址:https://blog.csdn.net/wsjzzcbq/article/details/126177232
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号