JavaWeb
1. BS 和 CS
BS
B/S结构(Browser/server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过WebServer 同数据库进行数据交互。
CS
Cient/server架构,即服务器/客户端架构。是大家熟知的软件系统体系结构,通过将任务合理分配到c1ient端和server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。B/S架构:客户端基本上没有专门的应用程序,应用程序基本上都在服务器端。由于 客户端没有程序,应用程序的升级和维护都可以在服务器端完成,升级维护方便。
2. 服务器
服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。
服务器就是 提供服务的设备。是由硬件和软件两部分组成。
硬件服务器:构成包括处理器、硬盘、内存、系统总线等组成的电脑主机
软件服务器:
web服务器: tomcat
数据库服务器: MysQL、oracle
反向代理服务器: nginx
缓存服务器: Redis 【nosq1】
3. Web服务器
1. IIS
IIS(Internet信息服务)英文InternetInformationserver的缩写。它是微软公司主推的服务器,IIS的特点具有:安全性,强大,灵活
2. Tomcat
Tomcat是Apache软件基金会(ApachesoftwareFoundation)的]akarta项目中的一个核心项目,由Apache、sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定,而且免费,因而深受]ava爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
3. Zeus
Zeus是一个运行于unix下的非常优秀的web服务器,据说性能超过Apache,是效率最高的Web服务器之一。
4. Nginx
Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongre1进程可以极大提高Rai1s应用的并发能力。
5. Apache
Apache是世界使用排名第一的web服务器软件。它几乎可以运行在所有的计算机平台上。由于Apache是开源免费的,因此有很多人参与到新功能的开发设计,不断对其进行完善。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
6. Lighttpd
Lighttpd是由德国人JanKneschke领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的webserver环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。支持FastCGI,CGI,Auth输出压缩(outputcompress),URL重写,Alias等重要功能。
4. Tomcat服务器
4.1 Tomcat的安装
1 确保自己电脑上面有JDK
2 将压缩包中的内容解压到指定文件夹
注意 不能有中文路径
测试 找到tomcat的bin目录 下面的 startup.bat启动 如果窗口不闪退 并且浏览器访问http://localhost:8080
4.2 Tomcat目录
tomcat有哪些文件夹各自的作用是什么?
bin: 有关tomcat运行启动停止等内容的脚本文件
conf:关于tomcat的配置文件
<Host name="localhost"appBase="webappsunpackWARs="true" autoDepoy="true">
1ib:存放jar包
1ogs:存放日志文件
temp:存放临时文件
webapps:存放tomcat运行的项目
work:存放jsp编译后的javawe
目录 | 描述 |
---|---|
/bin | 存放Windows平台及Linux平台上启动和关闭Tomcat的脚本文件 |
/lib | 存放Tomcat服务器以及所有Web应用都能访问的JAR文件 |
/conf | 存放Tomcat服务器的各种配置文件,其中最重要的配置文件是server.xml |
/logs | 存放Tomcat的日志文件。 logs/log目录的记住。 排查错误时可以查看该日志文件 |
/temp | 临时文件 |
/webapps | 默认的Web应用文件的存放目录。 部署到该目录下 |
/docs | Tomcat文档 |
/example | 示例程序 |
/work | Jsp文件编译后的servlet文件存放。 jsp经过编译后产生的java代码存在在该目录下 |
4.3 静态资源和动态资源
所谓的动态网页,是指跟静态网页相对的一种网页编程技术。
静态网页,随着htm1代码的生成,页面的内容和显示效果就基本上不会发生变化了--除非你修改页面代码。
而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。
值得强调的是,不要将动态网页和页面内容是否有动感混为一谈。这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术生成的网页都可以称为动态网页。
总之,动态网页是基本的html语法规范与Java、VB、VC等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。
网页可以结合高级编程语言,和数据库结合的页面都是动态页面。 里面可以使用java语言。最常见的动态页面: jsp,thymeleaf,asp等这些都是动态页面
4.4 如何部署项目到tomcat中
在tomcat/webapps目录下创建项目
4.5 jsp
java server page: java服务器网页。该网页的解析需要服务器。而且该网页中可以插入java代码。
4.6 idea创建web工程
4.7 idea创建的web工程关联tomcat并部署
启动tomcat
4.8 项目的默认页面
5. jsp中添加java代码
jsp它是动态网页,里面可以插入java代码。如何在jsp中插入java代码。
<%
java代码
%>
java的结果或表达式输出到网页上。提供了两种方式:
第一种: out.print(表达式);
第二种: <%=表达式%>
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2024/12/3
Time: 10:05
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<%--jsp中可以使用html任何东西,而且里面可以插入java代码--%>
</head>
<body>
================================================================
<%
int a=10;
int b=10;
int c=a+b;
out.print("c的结果:"+c);
System.out.println("~~~~~~c的结果:"+c);
%>
<br>
c的结果为:<%=c%>
<%
String[] hobby={"java","c","c++","看书","爬山","打麻将"};
//把上面数组的内容以无序列表展示到网页。 <ul><li></li></ul>
out.print("<ul>");
for(int i=0;i<hobby.length;i++){
out.print("<li>"+hobby[i]+"</li>");
}
out.print("</ul>");
%>
</body>
</html>
6. jsp接受请求的参数
1.表单请求
2.超链接请求
发送请求时都可以携带数据。
6.1 表单请求
<form action="表单提交的路径" method="表单提交的方式">
表单元素
</form>
<body>
<form action="/registerDo.jsp" method="post">
账号:<input type="text" name="uname"/><br>
密码:<input type="password" name="pwd"/><br>
<%--单选按钮必须给的value值。--%>
性别:<input type="radio" name="sex" value="M"/> 男
<input type="radio" name="sex" value="F"/> 女<br>
<input type="submit" value="确认注册"/>
</form>
</body>
</html>
registerDo.jsp
<body>
<%--接受表单提交数据:jsp中提供了一个类:HttpServletRequest的对象。该对象无需自己创建。jsp内置了该对象名称为request. 引入servlet-api的jar包--%>
<%
String uname = request.getParameter("uname");
String pwd = request.getParameter("pwd");
String sex = request.getParameter("sex");
out.print("账号:"+uname+";密码:"+pwd+";性别:"+sex);
%>
</body>
</html>
6.2 超链接提交数据
<a href="连接的路径?key=value&key=value">超链接文本</a>
<a href="f.jsp?name=zs&age=15">连接到f.jsp</a>
f.jsp
<%
//接受超链接提交的数据.jsp中内置了一个HttpServletRequest对象。request
String name = request.getParameter("name");
String age=request.getParameter("age");
out.print("name:"+name+";age:"+age);
%>