JavaWeb开发---B/S和C/S模式 tomcat服务器 Tomcat项目部署和发布 静态网页和动态网页 tomcat对web项目的目录要求 使用idea开发工具创建web项目 设置默认首页
目录
1. B/S和C/S模式
1.1 C/S模式
1.2 B/S模式
1.3 B/S和C/S区别
2.服务器
3.web 服务器
3.1.IIS
3.2.Tomcat
3.3.Zeus
3.4.Nginx
3.5. Apache
3.6.Lighttpd
4.Tomcat 服务器
4.1 tomcat服务器简介
4.2 下载和安装
4.3 Tomcat文件夹构成
4.3.1 tomcat目录结构的介绍
4.3.2. 启动tomcat
4.4 Tomcat项目部署和发布
5.IDEA关联tomcat
6.IDEA创建web工程
6.1.创建web工程
6.2.tomcat 对 web项目的目录要求
7.设置web工程的默认首页
8.静态网页和动态网页
8.1.如何插入java脚本
8.2.如何把定义的java内容输出到浏览器
9.出现的错误
总结
1. B/S和C/S模式
1.1 C/S模式
Client/Server架构,即客户端/服务器架构。是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。
1.2 B/S模式
B/S结构(Browser/Server,浏览器/服务器模式)是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
B/S结构程序的工作原理
从用户的操作开始,用户在浏览器页面提交表单操作,向服务器发送请求,服务器接收并处理请求,然后把用户请求的数据(网页文件、图片、声音等等)返回给浏览器,至此一次请求完成。
1.3 B/S和C/S区别
2.服务器
无论BS模式还是CS模式都需要使用到服务器。
服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。
服务器就是 提供服务的设备。是由硬件和软件两部分组成。
硬件服务器:构成包括处理器、硬盘、内存、系统总线等组成的电脑主机
软件服务器:web服务器 Tomcat
数据库服务器 MySQL Oracle
缓存服务器 Redis (NoSql)
反向代理服务器 Nginx 负载均衡
正向代理服务器 Node
文件服务器 ftp服务器
服务器的作用: 部署web程序,使客户通过浏览器可以访问部署到web服务器的程序。
服务器作用: 把你写好的项目部署到服务器上就可以被外界通过网络访问。
3.web 服务器
3.1.IIS
IIS(Internet信息服务)英文InternetInformationServer的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活。
3.2.Tomcat
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
3.3.Zeus
Zeus是一个运行于Unix下的非常优秀的Web服务器,据说性能超过Apache,是效率最高的Web服务器之一。
3.4.Nginx
Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
3.5. Apache
Apache是世界使用排名第一的Web服务器软件。它几乎可以运行在所有的计算机平台上。由于Apache是开源免费的,因此有很多人参与到新功能的开发设计,不断对其进行完善。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
3.6.Lighttpd
Lighttpd是由德国人JanKneschke领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的webserver环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。支持FastCGI,CGI,Auth,输出压缩(outputcompress),URL重写,Alias等重要功能。
4.Tomcat 服务器
4.1 tomcat服务器简介
TomcatApache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet 和 JSP 容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为10。
4.2 下载和安装
Apache Tomcat® - Welcome!/
下载后解压
打开bin目录
点击startup.bat 启动tomcat
打开浏览器输入localhost:8080
4.3 Tomcat文件夹构成
4.3.1 tomcat目录结构的介绍
不要放在中文路径下
目录 | 描述 |
---|---|
/bin | 存放Windows平台及Linux平台上启动和关闭Tomcat的脚本文件 |
/lib | 存放Tomcat服务器以及所有Web应用都能访问的JAR文件 |
/conf | 存放Tomcat服务器的各种配置文件,其中最重要的配置文件是server.xml |
/logs | 存放Tomcat的日志文件 |
/temp | 临时文件 |
/webapps | 默认的Web应用文件的存放目录 |
/docs | Tomcat文档 |
/example | 示例程序 |
/work | Jsp文件编译后的servlet文件存放 |
4.3.2. 启动tomcat
前提: 必须安装jdk了 而且必须配置jdk的环境变量。除了有path classpath 还要有java_home的配置。
在bin/startup.bat
客户访问服务器
http://ip:8080/
服务器在自己电脑上
http://localhost:8080
4.4 Tomcat项目部署和发布
两种方式:
①:webapps方式
将你的项目拷贝到webapps目录下 然后访问
tomcat默认端口号8080。
ip地址:8080/html05/页
(1)在webapps下创建一个工程并把资源放入该工程下
(2)启动tomcat
(3)访问服务器下指定的资源
未来你写好的web工程,都可以给客户部署到tomcat/webapps下。
②:配置文件方式
conf--->server.xml 打开 添加以下代码 --》保存---》重启tomcat
<Context docBase="项目在电脑中的路径" path="/haha 访问路径" reloadable="true"/>
配置好路径后:直接浏览器访问:
ip地址:端口号/haha/资源文件
5.IDEA关联tomcat
我们写代码都是在idea上来写,所以我们应该让idea关联tomcat.
6.IDEA创建web工程
6.1.创建web工程
因为我们现在写的代码不只包含java代码还包含我们的网页,所以我们现在使用idea创建工程的话,不在是创建的为java工程了,而是javaweb工程。
首先创建一个普通工程,和我们学习java基础时创建工程的方法相同
其次,向工程中添加组件
点击OK即可。那么这样我们的JavaWeb工程就创建好了,目录列表如下图所示:
web工程的目录结构
把创建的web工程部署到咱指定的tomcat下。
6.2.tomcat 对 web项目的目录要求
普通java项目:src
web项目:
我们写的servlet需要部署到tomcat中,但是你不能乱写(我们写好了之后 随便放到一个地方 tomcat肯定不识别),此时tomcat有一个目录要求。其实就是要求我们 需要创建几个文件夹 每个文件夹中放不同的资源内容
7.设置web工程的默认首页
在不输入网页资源名称时 默认显示的页面。
/WEB-INF/web.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"><!--设置默认首页--><welcome-file-list><welcome-file>main.html</welcome-file></welcome-file-list>
</web-app>
8.静态网页和动态网页
所谓的动态网页,是指跟静态网页相对的一种网页编程技术。
静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非你修改html页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。值得强调的是,不要将动态网页和页面内容是否有动感混为一谈。这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术生成的网页都可以称为动态网页。总之,动态网页是基本的html语法规范与Java、VB、VC等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。
静态网页没有数据库的数据传输 ,动态网页有数据的传输
1. 动态网页会随着时间的变化或者数据库的变化而发生改变。动态网页内可以插入脚本代码。
动态网页的种类有很多,比如jsp,freemark thymeleaf等等。
我们讲的是jsp动态网页。而我们主要学习jsp. 他和普通的html没有任何区别,至少可以在里面添加java语言。
2. 静态页面不会随着时间的变化而变化。静态网页无法插入脚本代码。静态网页和动态网页的唯一区别:能不能插入java脚本。
8.1.如何插入java脚本
写在jsp网页。
<%
Java脚本
%>
<%--表示它支持java脚本 不要删除--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><style>#mydiv{background: red;width: 200px;height: 200px;}</style>
</head>
<body><%//里面就可以写java代码。int a=15;int b=20;int c=a+b;%>这里是动态网页hello.<br><img src="data:images/1.jpg"><div id="mydiv"></div></body>
</html>
上面已经知道可以再jsp中写java代码,但是我们不知道如何把定义的变量输出到网页上。
8.2.如何把定义的java内容输出到浏览器
输入到网页的方式有两种:
1.out.print(输出的内容);
2.<%=表达式%> :注意不要再后面加;
第一种:
out.print(表达式);
<%
//里面就可以写java代码。
int a=15;
int b=20;
int c=a+b;
//System.out.println("c====="+c); //它只会再idea控制台输出。
out.print("c============"+c); //报错。我们需要加入jsp的依赖。
out.print("a========"+a);
%>
注意: 你必须把jsp-api.jar 和 servlet-api.jar 放入该web工程下。
添加jsp依赖。
第二种:
<%=表达式 %> 注意这里不要再表达式后面输入分号.
练习:
<%--Created by IntelliJ IDEA.User: ykqDate: 2022/5/9Time: 15:56To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body><%int [] arr={1,2,2,3,42,4,5};//遍历数组并把里面的元素输出到网页上。for(int i=0;i<arr.length;i++){out.print(arr[i]+"<br>");}%>
<hr><%--把数组中的元素输出到无序列表中<ul><li></li></ul>--%><ul><%for(int i=0;i<arr.length;i++) {out.print("<li>"+arr[i]+"</li>");}%></ul></body>
</html>
9.出现的错误
一定要把tomcat黑框关掉
404: 资源找不到。
1. 你的工程有没有部署到tomcat.
2.浏览器访问的资源名称有误。
3. 创建好资源后有没有重新部署项目。
图片不显示 把out目录删除再重启tomcat
总结
1. javaweb开发。
1.前提必须有服务器。---Apache Tomcat8 作用: 我们可以把自己的工程部署到服务器,使外界可以通过浏览器(或客户端)来访问我们服务器下的工程。
2. 安装了Tomcat并且可以启动该tomcat.
配置JAVA_HOME=JDK的安装路径。 【不要到bin目录】2. idea创建web工程并可以部署到idea关联的tomcat上。
3. 动态页面jsp.
4. 动态页面内可以插入java脚本代码.
<%
//java脚本代码---和咱们以前的java语法一样。定义变量可以再整个jsp当前页面内使用。
%>
5. 输入java脚本的内容.
out.print();
<%=表达式%>
JavaWeb开发---B/S和C/S模式 tomcat服务器 Tomcat项目部署和发布 静态网页和动态网页 tomcat对web项目的目录要求 使用idea开发工具创建web项目 设置默认首页相关推荐
- java web设置首页_java web设置默认首页方法
本文部分来自:https://blog..net/caiwenfeng_for_23/article/details/45486233 引文:在构建项目后,我们在使用Tomcat启动后设置默认首页方法 ...
- nginx php默认首页,iis、apache、nginx设置默认首页index.html方法图解 电脑维修技术网...
文章简介 一般来说,我们访问一个网站的首页如www.pc811.com就直接打开首页了,但是有些时间我们却发现输入网址后,却显示打不开网页404的错误提示,一般来说出现这种问题多是网站管理员未设置网站 ...
- Java框架JSON-RPC项目demo代码实战 + JAVA WEB配置虚拟目录(转自21天java web开发)
Java框架JSON-RPC项目demo代码实战 备注 JAVA WEB配置虚拟目录(转自21天java web开发) https://blog.csdn.net/wjxbj/article/det ...
- Java Web学习(2):静态网页与动态网页
一静态网页 (1)静态网页概述 在网站设计中,纯粹HTML(标准通用标记语言下的一个应用)格式的网页通常被称为"静态网页",静态网页是 标准的HTML文件,它的文件扩展名是.htm ...
- struts2设置默认首页
在默认情况下,我们一般希望,当我们在浏览器中输入127.0.0.1:8080/project_name时候跳到项目的首页,那么在struts中我们这么设置呢?光加上<default-action ...
- mvc iis设置默认首页无效
配置网站默认页index无效,在网上找了好久没有一个可以解决的方法,后来发现一个很低端的错误 .... MVC的路由机制忘记弄了,可能因为mvc的路由导致iis默认首页加载不到 所以mvc的iis默认 ...
- 使用集成开发工具创建WEB应用
这里我使用MyEclipse中创建web项目 1.创建新项目 执行File→new→ Web project 建立完成后的项目结构如下: src :用于存放java源代码 JRE System Lic ...
- Go语言web框架beego:脚手架bee的安装及创建beego项目
beego介绍 bee脚手架的安装 go get github.com/beego/bee #如果使用上述命令很慢的话,进行如下操作 第一步:到GitHub上下载源码 第二步:进入到源码bee目录,执 ...
- 2021-07-06-Intellij IDEA新建项目时JDK以及模块语言等级(language level)默认为1.8或1.5,每次创建新项目都需要重新更改
问题详细描述:本人装了两个版本的JDK(JDK1.8 也叫JDK 8和JDK11)以前IDEA使用的都是JDK1.8,有时偶尔用11来看看新特性.今天想将IDEA的默认JDK换成11(language ...
最新文章
- java实现类似于while(cin n)的操作
- Android从普通发送和接收短信到对短信进行拦截
- python-数据结构-队列操作
- ITK:从图像区域中随机选择像素而不进行替换
- 如何通过RFID开发来迎接第四次工业革命(转)
- 从人脸识别到内容审核,百度硬核AI技术推荐!
- python -sorted 学习
- ncurses键盘管理:cbreak,keypad,getch(),KEY_F(),clrtoeol()
- FFmpeg实战命令(不断更新中...)
- boost安装详细教程
- xml mysql 树形数据删除_使用递归删除树形结构的所有子节点(java和mysql实现)
- 用Node.JS分析steam所有的游戏!
- 路由器指定dns解析服务器设置
- 人脸识别之表情识别(七)--面部表情识别阶段综述
- 英特尔磁盘快速存储技术-Intel RST 修复4t硬盘
- vb发出声音音乐代码
- b级计算机机房标准,B级电子信息系统机房技术要求(国标GB50174–2008)
- Python之数据分析(numpy裁剪、压缩、累乘,样本相关性曲线的绘制)
- XMind Cloud 操作步骤详解
- 学习总结 --- 生成树协议STP
热门文章
- 重做Unbuntu 18.0.43 LTS系统 并为SLAM配置环境
- signature=8b78efd08a83109cc3e573938dab113b,YOUR SIGNATURE DELI.
- Python中unittest.main(verbosity=2)
- Java复习第11天---11.2---Java8新特性---Stream流获取方式和常用方法1
- 【苹果相册共享】推送群发安装软件1G内存 // Late 2011
- 域登录缓存mscash
- 您需要了解的有关Tesla Powerwall 2的一切(2020版)
- Codding.net 与 Visual Studio 项目的创建和上传 push 403错误
- Matlab-函数编写规则
- Premiere序列