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.指定的固有的映射路径最高,最先执行


相关文章
|
Java
74.【JavaWeb -02】(四)
74.【JavaWeb -02】
40 0
|
Java Apache C++
74.【JavaWeb -02】(七)
74.【JavaWeb -02】
56 0
|
10月前
|
JavaScript 前端开发 Java
JavaWeb02
JavaWeb02
151 0
|
前端开发 Java
73.【JavaWeb-01】(八)
73.【JavaWeb-01】
40 0
|
存储
73.【JavaWeb-01】(六)
73.【JavaWeb-01】
36 0
|
Java
74.【JavaWeb -02】(三)
74.【JavaWeb -02】
43 0
|
Java 应用服务中间件 Maven
73.【JavaWeb-01】(三)
73.【JavaWeb-01】
57 0
|
Java
74.【JavaWeb -02】(二)
74.【JavaWeb -02】
49 0
|
网络协议 应用服务中间件
73.【JavaWeb-01】(一)
73.【JavaWeb-01】
43 0