JavaWeb学习笔记(篇一)

代码地址: https://github.com/Zhuyaqiang/javaweb-study

1 基本概念

1.1 前言

web开发:

  • web, 网页

  • 静态web

    • html, css
    • 提供给所有人看的数据始终不会发生变化
  • 动态web

    • 几乎所有网站
    • 提供给所有人看的数据都会发生变化
    • 技术栈: Servlet/JSP, ASP, PHP

    在Java中, 动态web资源开发的技术统称为JavaWeb

1.2 Web应用程序

Web应用程序: 可以提供浏览器访问的程序

  • a.html…整合多个web资源, 可以被外界访问, 提供服务
  • URL
  • 统一的Web资源会被放到某一台计算机上的某一个文件夹下. Web应用程序–>Tomcat: 服务器
  • 一个Web应用由多部分组成(静态Web, 动态Web)
    • html, css, js
    • jsp, servlet
    • java程序
    • jar包
    • 配置文件(Properties)

程序编写完毕后, 需要服务器来统一管理

1.3 静态Web

  • *.htm, *.html, 如果服务器上一直存在这些东西, 我们就可以直接进行读取
  • 静态Web的缺点:
    • Web页面无法动态更新, 所有用户看到的都是同一个页面
      • 轮播图, 点击特效: 伪动态
      • js, VBScript
    • 无法与数据库交互(数据无法持久化)

1.4 动态Web

页面会动态展示, Web的页面展示效果因人而异

缺点

  • 假如服务器的动态Web资源出现了错误, 需要重新编写后台程序, 重新发布
    • 停机维护

优点

  • Web页面可以动态更新
  • 可以与数据库交互(数据持久化)

2 Web服务器

2.1 技术栈

ASP:

  • 微软: 国内最早流行
  • 在HTML中嵌入了VB的脚本, ASP + COM
  • ASP开发中, 基本一个页面有几千航业务代码, 页面显示乱
  • 维护成本高

PHP:

  • 开发速度快, 功能强大, 跨平台, 代码简单
  • 无法承载大访问量的情况

JSP/Servlet:

  • sun公司主推的B/S架构
  • 基于Java语言
  • 可以承载高并发高可用高性能带来的影响
  • 语法像ASP

2.2 Web服务器

服务器是一种被动的操作, 用来处理用户的一些请求和相应

IIS, Tomcat

3 Tomcat

3.1 配置

Tomcat核心配置文件是conf/server.conf

网站是如何进行访问的?

  1. 输入一个域名
  2. 检查本机hosts配置文件内有没有该域名映射
    1. 有, 直接返回对应的ip地址
    2. 没有, 去DNS服务器上查询

3.2 发布一个Web网站

  • 将写好的网页放到Tomcat中指定的Web应用文件夹(webapps)下

网站应该有的结构

--webapps: Tomcat服务器的文本目录
	-ROOT
		-index.html 默认的首页
		-WEB-INF
			-classes
			-lib
			-web.xml  网站的配置文件
			-static

4 HTTP

4.1 响应状态码

200: 请求成功

4.2 两个时代

  • HTTP/1.0: 客户端与web服务器连接后, 只能获得一个Web资源, 断开连接
  • HTTP/1.1: 客户端与Web服务器连接后, 可以获得多个Web资源

5 Maven

5.1 Maven项目架构管理工具

用来方便导入jar包

Maven核心思想: 约定大于配置

  • 有约束, 不要去违反

Maven会规定好如何编写java代码, 必须按照规范来

5.2 IDEA生成webapp项目

  1. 选择套用webapp模板

  2. Edit Configurations配置Tomcat

  3. pom文件:pom.xm是maven的核心文件

  4. 解决资源导出问题

    <!--    在build配置resources, 防止资源导出失败问题-->
    </build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>**/*.properties</exclude>
                <exclude>**/*.xml</exclude>
            </excludes>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
    </build>
    
  5. Web头文件版本参考tomcat示例项目

5.3 hello项目

  1. 创建HelloServlet类, 继承HttpServlet类, 需要导入Maven依赖

    <!-- 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>
    
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.3</version>
    </dependency>
    

    重写doGet, doPost方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值