javaweb 1、Web基本概念
JavaWeb
基本概念
前言
web开发
- web,网页的意思,www.baidu.com
- 静态web
- html、css
- 提供给所有人看的数据始终不会发生变化!
- 动态web
- 淘宝,几乎所有的网站
- 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息不相同
- 技术栈:Servlet/JSP,ASP,PHP
在java中动态web资源开发的技术统称为javaweb;
web应用程序
web应用程序:可以提供浏览器访问的程序
- a.html、b.html......多个web资源,这些资源可以被外界访问,对外界提供服务;
- 我们能访问到的任何一个页面或者资源,都存在于这个世界的某一个角落的计算机上
- URL
- 这个统一的web资源会被放在同一个文件下,web应用程序->Tomcat:服务器
- 一个web应用由多个部分组成(静态web,动态web)
- html,css,js
- jsp,serlet
- java程序
- jar包
- 配置文件(properties)
web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理
静态web
- *.html是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取
- 静态页面的缺点:
- web页面无法动态更新,所有用户看到的都是同一个页面
- 它无法和数据库交互(数据无法持久化,用户无法交互)
动态web
页面会动态展示:“web页面的展示会因人而异”
缺点:
- 加入服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布
- 停机维护
优点:
- web页面可以动态更新
- 可以和数据库交互(数据持久化:注册)
web服务器
技术讲解
ASP
- 微软:国内最早流行的就是ASP
- 在HTML中嵌入了VB的脚本,ASP + COM
- 在ASP开发中,基本一个页面都有几千行的业务代码,页面极其混乱
- 维护成本高!
- C#
- IIS
PHP
- PHP开发速度很快,功能很强大,跨平台,代码很简单(70%)
- 无法承载大访问量的情况(局限性)
JSP/Servlet:
B/S: 浏览和服务器
C/S: 客户端和服务器
- sun公司主推的B/S架构
- 基于java语音的(所有的大公司,或者一些开源的组件,都是用java写的)
- 可以承载三高问题带来的影响
- 语法像ASP,加强市场强度
web服务器
服务器是一种被动操作,用来处理用户的一些请求和给用户一些响应信息
IIS
微软的;ASP windows自带
TomCat
omcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个java初学web的人来说,它是最佳的选择。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。Tomcat最新版本为10.0.23。
Tomcat
Tomcat安装
官网下载链接:https://tomcat.apache.org/whichversion.html
Tomcat启动和配置
解压后
启动tomcat
在bin目录下,打开startup.bat文件
浏览器打开链接:http://localhost:8080/
配置
conf目录下server.xml文件
- 改端口(tomcat默认端口号为8080)
- tomcat: 8080
- mysql: 3306
- http: 80
- https: 443
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
- 配置主机名称 (默认主机名:localhost,默认应用存放位置:webapps/)
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
发布一个web网站
网站应该有的结构
webapps: tomcat服务器的web目录
- ROOT
- binzaza: 网站的目录名
- WEB-INF
- classes: java程序
- lib: web应用所依赖的jar包
- web.xml: 网站配置文件
- index.html: 默认首页
- static
- css
- style
- js
- img
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{
font-family: "Microsoft YaHei UI","Arial Black";
color: #1c1c1b;
}
img{
width: 800px;
}
#title{
font-size: 40px;
}
#sub-title{
font-size: 20px;
font-weight: bold;
}
</style>
</head>
<body>
<p id="title">鬼灭之刃</p>
<p id="sub-title">日本漫画家吾峠呼世晴著作漫画</p>
<img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic2.zhimg.com%2Fv2-c544281c52cf60f3eefe26902e0c0abd_r.jpg&refer=http%3A%2F%2Fpic2.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1661134338&t=c7a9ad6e9bc7f1c5e0e988f0aceef9a4" alt="">
<p>《鬼灭之刃》是日本漫画家吾峠呼世晴所著的少年漫画,自2016年2月15日—2020年5月11日在集英社《周刊少年Jump》上连载。已完结。</p>
<p>繁体中文版由东立出版社发行;简体中文版由浙江人民美术出版社发行 [1] ,电子版由哔哩哔哩漫画、漫番漫画、腾讯动漫正版发布。</p>
<p>作品亦被改编成同名电视动画片,于《周刊少年JUMP》第27号上正式宣布了动画化的消息,动画由ufotable负责动画制作, [5] 于2019年4月6日起首播。</p>
<p>漫画的前身短篇《過狩り狩り》曾获第70回JUMP新人漫画赏佳作。</p>
<p>截至2021年2月15日,包含电子版在内的本作系列累计发行量已突破1.5亿册。</p>
<p>It was the Taisho period in Japan.</p>
<p>Legend has it that after the sun goes down, evil spirits haunt and eat people. There are also ghost hunters who kill evil spirits and protect people.</p>
</body>
</html>
- 重新启动tomcat
- 访问:http://localhost:8080/binzaza/