其他分享
首页 > 其他分享> > 2022-08-29 day37 第一小组 王鸣赫

2022-08-29 day37 第一小组 王鸣赫

作者:互联网

目录

JAVA web

一,软件架构

  1. c/s架构:客户端 / 服务器
  2. b/s架构:浏览器 / 服务器

二,资源分类

  1. 静态资源:所有用户访问后,得到的结果都是一样的(html,css,js,图片...)

  2. 动态资源:每个用户访问相同的资源,得到的结果可能不一样,动态资源在被访问后,需要先转换成静态资源,在返回给浏览器,通过浏览器来进行解析
    nginx:动静分离

三,常见的wed服务器

  1. 服务器:安装了服务器软件的计算机

  2. 服务器软件:接受用户的请求,处理请求后,给出响应

  3. wed服务器软件:接受用户的请求,处理请求后,给出响应

在web服务器软件中,可以部署web项目,让用户通过浏览器访问这些项目

四,常见的服务器软件

动态服务器

webLogic : oracle公司出品,大型的web服务器,几乎支持了所有的javaEE规范
webSphere : IBM公司,大型的web服务器,几乎支持了所有的javaEE规范
jBoss : jBoss公司,中型的javaEE服务器,几乎支持了所有的javaEE规范
Tomcat : Apache基金会,中小型的web服务器,支持少量的javaEE规范,开源免费

静态服务器

Nginx :代理,反向代理,动静分离,极高的并发
Apache

Tomcat

bin :存放一些批处理脚本文件,可处理文件
conf :(config)存放tomcat相关配置文件
lib :(library)Tomcat依赖的jar包
logs :存放日志
temo :临时文件目录
webapps :Tomcat默认的web应用部署目录
work :web应用JSP代码身生成和遍历的临时目录

Tomcat的启动

双击 bin/startup.bat文件

Tomcat的关闭

双击 bin/shutdown.bat文件

访问

http:1270.0.1:8080

五,Tomcat部署项目

六,Servlet

Servlet

就是一个普通的java类
处理请求,给出响应的类

创建Servlet

  1. 实现 javax.servet.Servlet 接口

  2. 继承 javax.servlet.GenericServlet 类

  3. 继承 javax.servlet.http.HtppServlet 类(*)

引包 放在WEB-INF下的lib包

Servlet生命周期

  1. 初始化 -- inti方法
  1. 实例化 -- 构造器
  1. 调用 serice 方法,处理请求
  1. 销毁 -- destory方法

前台和后台简单实现

web / WEB-INF 下新建 lib 导入servelt-api.jar
index.html



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--
    get请求怎么发?
-->
<a href="hello.do">get请求</a>
<form action="hello.do" method="post">
    <input type="submit" value="提交">
</form>
</body>
</html>

实现方式一:xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <!-- 注册servlet   -->
    <!--    <servlet>-->
    <!--        <servlet-name>hello</servlet-name>-->
    <!--        <servlet-class>com.jsoft.afternoon.HelloServlet</servlet-class>-->
    <!--    </servlet>-->
    <!--    <servlet-mapping>-->
    <!--        <servlet-name>hello</servlet-name>-->
    <!--        <url-pattern>/hello.do</url-pattern>-->
    <!--    </servlet-mapping>-->
</web-app>

实现二:java 类

package ServletTest;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 现在我们这个HelloServlet已经是一个真正的serlvet了
 * 已经具备了处理请求,给出响应的功能
 *
 * 一个类如果想要解决问题,必须得有方法!
 *
 * 我们当前的servlet只是具备了处理请求的功能,
 * 它到底处理哪一个请求?
 *
 * 需要对我们的servlet做一个配置
 *
 */
@WebServlet("/hello.do")
public class HelloServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 处理get请求
        System.out.println("doGet方法执行了...");
        System.out.println("我是doget方法...");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 处理post请求
        System.out.println("doPost方法执行了...");
    }
}

注意:

在 xml 里注册 servlet 不可与注解同时用,用注解不要用 xml 实现
Settings 在 Build,Execution,Deployment 下 Complier 勾选 Build project automatically

标签:web,Tomcat,--,day37,08,29,服务器,servlet,javax
来源: https://www.cnblogs.com/wmh19990109/p/16658771.html