73.【JavaWeb-01】(五)

简介: 73.【JavaWeb-01】

(七)、第一个项目HelloServlet

26.构建一个MAVEN项目

1.什么是Servlet?

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器

最早支持Servlet标准的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。

1.构建一个普通的MAVEN项目
2.删除里面的Src目录,以及不必要的代码
3.导入两个依赖.
4.构建Module模块: 
(1).关于Maven父子工程的理解:
父项目中会有: 
    <modules>
        <module>Servlet-01</module>
    </modules>
子项目中会有:(没有的话手动添加)
  <parent>
    <artifactId>父项目名字</artifactId>
    <groupId>com.Jsxs</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
5.重写Web项目: 更新最新的4.0
6.在main包中创建目录: java resource
7.在java中创建一个com.Jsxs.包,并在这个包中设一个类
8.实现Serlvet接口。这里我们直接继承HttpServlet  
9.在类中重写两个方法: doGet doPost
10.在类中书写信息:
11.在web.xml中编写映射: 我们写的是java程序,但是要通过浏览器访问,而浏览器
需要连接web服务器,所以我们需要在web服务中注册我们写的Servlet,还需要能够
访问的路径。
12.配置Tomcat.
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.2.1</version>
        </dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
        </dependency>

1.构建Model模块

2.配置类方法:

3.配置web.xml

package com.Jsxs.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class HelloServlet extends HttpServlet {
//    由于get和post只是请求实现的不同方式,可以相互调用,业务逻辑都一样;
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("进入GET模式");
        PrintWriter writer = resp.getWriter();  //响应流
        writer.println("hello servlet!");
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="true" version="4.0" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee">
<!--注册servlet-->
<servlet>
    <servlet-name>hello</servlet-name>
<!--    -->
    <servlet-class>com.Jsxs.servlet.HelloServlet</servlet-class>
</servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

(八)、Servlet原理

27.Servlet原理

1.Servlet是由WEB服务器调用,WEB服务器在收到浏览器请求之后,

28.Mapping映射

1.一个Servlet可以指定一个映射路径
2.一个Servlet可以指定多个映射路径
3.一个Servlet可以指定通用映射路径 
(1).  默认通道: /*                 */
(2).通用映射路径:
 hello/*                        */
4.指定一些后缀或则前缀等待.... 
(1).   *.后缀 ; *前面不能加/
5.优先级问题:
(1).指定了固有的映射路径优先级最高,如果找不到就会走默认的处理请求.

1.指定一个Servlet映射路径> 2.指定多个Servlet映射路径

3.指定通用的Servlet

4.指定后缀的名字

5.指定的固有的映射路径最高,最先执行


相关文章
|
4天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1317 4
|
4天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
667 3
|
5天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
|
11天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
773 6
|
8天前
|
物联网 API UED
Qwen-Image-Edit-2511来啦!角色一致性再提升,LoRA能力内置
Qwen-Image-Edit-2511发布!提升角色与多人合照一致性,集成Lora打光、新视角生成,增强工业设计与几何推理能力。已开源,支持魔搭、QwenChat免费体验,本地部署可获最佳效果。
466 3