美文网首页
Web服务器 Tomcat,Servlet

Web服务器 Tomcat,Servlet

作者: 扶光_ | 来源:发表于2023-10-20 19:53 被阅读0次

web服务器是一个软件,对HTTP协议的操作进行封装,使程序员不必直接对协议进行操作,更加便捷
也就是可以将web项目部署到服务器中,对外提供网上浏览服务

Tomcat

是一个开源免费的,支持servlet /jsp少量的JavaEE规范
javaee(企业版) 里面包含很多规范如,jdbc,xml,jsp等等
tomcat官网

1.1 tomcat的基本使用

安装 直接将压缩包解压即可
卸载 直接删除对应的安装包
启动 apache-tomcat-8.5.68\bin\startup.bat 双击启动


image.png

关闭的话用ctrl+c 正常关闭

1.2 tomcat的配置

  1. 端口号被占用的情况,使用win+r命令打开命令窗口输入cmd,在黑窗口命令输入netstat -ano | findstr :8080,最后一列是pid ,记住这个pid去任务管理器关闭掉次端口号
  2. 更改tomcat端口号,在conf目录下的server.xml配置文件下,找到
<Connector port="65534" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>

更改端口号,1-65535

  1. 控制台乱码问题,因为tomcat是采用utf-8的编码格式,而windows下的命令窗口是GBK的编码格式.

1.3 tomcat部署项目

将项目放在webapps目录下即可完成部署
javaweb项目一般会被打包成war包,然后将war包放在webapps目录下,tomcat会自动解压该文件


webapps IDEA部署Maven Web项目

IEDA创建Maven Web项目的两种方式

  • 1 使用IDEA模板来进行创建


    image.png
web.xml文件信息
最后需要补全一下缺失的目录 java和resources
  • 2 不使用模板创建


    image.png

1.4在IDEA中使用tomcat

正常情况我们在tomcat上部署项目需要将打包好的war包放在tomcat的webapps这个目录下进行部署,但是每次这样都是一个非常麻烦的过程
所以我们将本地的tomcat集成到idea中,在idea中进行部署

第一步 第二步
第三步
第四步
启动 运行
  • 还有第二种方法使用tomcat-maven插件的方式
    第一步
    第二步
    image.png

二,Servlet

是java提供的一门动态web资源开发的技术
在服务器中分为两类,一种为静态资源(html css js),另一种为动态资源(jsp)
静态资源不管哪个用户访问他展示的始终如一,不会变
动态资源不同用户访问或参数不一致,看到的效果不一样

就像管理员登录我们/adminlogin 登录显示管理员页面
普通用户/user登录我们显示普通用户页面

Servlet是javaEE的一种规范(接口),奖励需要定义Servlet类来实现Servlet接口,并有服务器来运行Servlet

image.png
然后启动tomcat,向浏览器输入url访问该路径,http://localhost:65534/tomcatDemo1/demo1
demo1就是servlet配置的访问路径 执行流程

2.1 Servlet生命周期

是指一个对象从创建到销毁的整个过程


生命周期

1 .init 加载和实例化

 /**
     *1.初始化的方法
     * 调用次数:servlet被第一次访问时调用,只调用一次
     * 可以通过LoadOnStartup改变调用时机,默认-1 是指第一次被访问的时候调用
     * @param servletConfig
     * @throws ServletException
     */
    public void init(ServletConfig servletConfig) throws ServletException {
        //这里只会被执行一次
    }

0或正整数是服务器启动时创建servlet对象,数字小优先级高
@WebServlet(urlPatterns="/demo1",LoadOnStartup = 1)

  1. service 提供服务
   /**
     * 调用时机和次数 每一次servlet被访问时,调用
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("欢迎来到servlet");
    }

3.destroy 销毁

 /**
     * 调用时机和次数 在servlet被销毁(内存释放或关闭)的时候被调用,只会被调用一次
     */
    public void destroy() {
      System.out.println("destroy");
    }
image.png

mvn tomcat7:run 启动命令

在这里输入ctrl+c 正常关闭,才会执行destroy

2.2 servlet方法

    /**
     * 这个方法用于获取信息
     * @return
     */
    public String getServletInfo() {
        return null;
    }

    /**
     * 获取servlet配置对象的  
     * @return
     */
    public ServletConfig getServletConfig() {
        return null;
    }

三,Servlet体系结构

简化servlet的开发


image.png
@WebServlet("/demo2")
public class ServletDemo2 extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("get..................");
    }
  
    @Override 
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("post..................");

    }
}

使用url路径的形式访问会触发get方法
使用表单明确post请求 会触发post方法

因为这样会比传统的servlet处理更方便,在传统servlet中是使用service这个方法去处理方法逻辑的
get提交的请求参数在请求行中,也就是url地址栏
post提交的请求参数在请求体里面 body
所以不同请求方式请求参数位置不一样,所以写不同的处理逻辑
所以需求根据请求方式的不同分别处理

3.2 Servlet urlParttern配置

  • 1@WebServlet("/demo2")可以配置多个url
    例如:@WebServlet(urlParttern={"/demo2","/demo3"})
  • 2 urlParttern匹配规则
    精确匹配:配置路径和访问路径一模一样 @WebServlet(urlParttern={"/user/demo2"})
    目录匹配:@WebServlet(urlParttern={"/user/"})
    访问路径 localhost:8080/user/aaa , localhost:8080/user/bbb 都可以访问
    扩展名匹配:@WebServlet(urlParttern={"/user/
    .txt"})
    localhost:8080/user/aaa.txt localhost:8080/user/xyz.txt都可以访问
    任意匹配 :@WebServlet(urlParttern={"/*"})
    后面写什么都可以访问
    xml配置

相关文章

  • Servlet和JSP

    1、Servlet的工作原理 Servlet由tomcat服务器负责管理,Tomcat服务器通过读取web.xml...

  • Web容器默认的servlet

    目录 [TOC] 1.1 各类Web服务器默认servlet名称 Web容器默认servlet名称Tomcat, ...

  • servlet 简介

    servlet 是运行在 Web 服务器(tomcat或者apache)中的小型 Java 程序。servlet ...

  • Servlet环境设置

    设置Web服务器:Tomcat Apache Tomcat 是一款 Java Servlet 和 JavaServ...

  • Tomcat&Servlet

    web相关概念回顾 web服务器软件: Servlet: server applet IDEA与tomcat的相关配置

  • javaWeb-Tomcat

    web相关概念回顾 web服务器软件: Servlet: server applet IDEA与tomcat的相关配置

  • 19.Tomcat & Servlet

    web相关概念回顾 web服务器软件: Servlet: server applet IDEA与tomcat的相关配置

  • 13.Tomcat&Servlet

    主要内容 web相关概念回顾 web服务器软件:Tomcat Servlet入门学习 web相关概念回顾 web服...

  • Java Servlet,JSP,Filter,Listener

    一、WEB项目的演变 二、Servlet介绍 三、服务器 四、Tomcat的使用方式 五、Servlet开发步骤 ...

  • JavaWeb--Servlet流程,生命周期

    Servlet由Tomcat web服务器创建,Servlet方法也由其调用自己写的类一旦继承了Servlet接口...

网友评论

      本文标题:Web服务器 Tomcat,Servlet

      本文链接:https://www.haomeiwen.com/subject/hodkidtx.html