java 概论

简介: 目前市面上的软件分为两种:C/S架构: ‘C’指客户端,S指服务器。一般我们使用的都是CS架构的软件,例qq,播放器等等 特点有:1.软件使用前必须需要安装 2.软件更新时,客户端和服务器必须都得更新 3.CS架构不能跨平台使用,例如安卓手机上的软件在苹果手机上不能使用 4.c/s客户端和服务器的通信采用的自由协议,相对安全,例如在手机上安装app时出现“是否同意安装该应用等等”B/S架构:‘B’指浏览器,S指服务器。平常我们常用的京东、淘宝、12306等等 特点:1.软件使用前不需要安装 2.软件客户端无需更新 3.可以跨平台使用 4.b/s的通信采用的是通用的HTML协议,相对不安全

目前市面上的软件分为两种:

C/S架构: ‘C’指客户端,S指服务器。一般我们使用的都是CS架构的软件,例qq,播放器等等 特点有:1.软件使用前必须需要安装 2.软件更新时,客户端和服务器必须都得更新 3.CS架构不能跨平台使用,例如安卓手机上的软件在苹果手机上不能使用 4.c/s客户端和服务器的通信采用的自由协议,相对安全,例如在手机上安装app时出现“是否同意安装该应用等等”
B/S架构:‘B’指浏览器,S指服务器。平常我们常用的京东、淘宝、12306等等 特点:1.软件使用前不需要安装 2.软件客户端无需更新 3.可以跨平台使用 4.b/s的通信采用的是通用的HTML协议,相对不安全
我们将使用Servlet开发B/S架构的WEB应用程序
WEB资源被分为:
[1 ] 静态web资源
供人们浏览时的数据始终是不变的;浏览器能直接看懂例如:html、jsp、jpg

[2 ] 动态web资源
供人们浏览的数据是由程序产生的,不同事件点访问web页面看到的内容各不相同;要先转换成html,再在浏览器显示;java中,动态web开发技术统称为javaweb;例如Servlet、jsp

5.在Sun的Java Servlet规范中,对java web应用做了这样的定义:
“java web应用由一组servlet、HTML页、类、以及其他可以被绑定的资源构成。他可以在各种供应商提供的实现Servlet规范的servlet容器中运行。”
[3] Java Web应用中可以包含如下内容:
ServletJSP
实用类
静态文档例如HTML、图片等
描述Web应用的信息
Servlet容器
[ 1 ] Servlet容器为Java Web应用提供运行时环境,他负责管理Servlet和JSP的生命周期,以及管理它们的共享数据。
[ 2 ] Servlet容器也成为Java Web应用容器,或者Servlet/JSP容器。
[ 3 ] 目前最流行的Servlet容器软件包括:Tomcat、J2EE服务器(如Weblogic)中也提供了内置的Servlet容器
Tomcat容器
tomcat是一个免费的开源代码的Servlet容器,属于轻量级应用服务器,是开发和调试JSP程序的首选;
官网:http://tomcat.apache.org
Tomcat的目录结构
运行Tomcat
配置JAVA_HOME
如无效可将编辑的JAVA_HOME
双击bin目录下的startup.bat文件
在地址栏中输入http://localhost:8080/
关闭Tomcat & 配置 Tomcat 的端口号
双击 bin 目录下的shutdown.bat 文件关闭 Tomcat 服务器
修改 Tomcat 默认的端口号:
[ 1 ] 打开conf 目录下的 server.xml 文件
[ 2 ] 修改端口号

注:修改完端口号需要重启Tomcat
Tomcat 的管理程序
Tomcat 提供了一个管理程序:manager,用于部署到 Tomcat 服务器中的web 应用程序
要访问 manager web 应用程序,需要添加具有管理员权限的账号,编辑 conf目录下的 tomcat-users.xml 文件,添加 manager-gui角色,设置用户名和密码
<?xml version="1.0" encoding="UTF-8">




创建一个静态网站
在webapps目录下创建一个目录(命名必须不包括中文和空格),这个目录称之为项目目录
在项目目录下创建一个html文件
启动tomcat
WEB程序结构
一个web应用程序是由一组 Servlet、HTML页面、类以及其他的资源组成的运行在 web 服务器上的完整的应用程序,以一种结构化的有层次的目录形式存在一个web应用程序是由一组 Servlet、HTML页面、类以及其他的资源组成的运行在 web 服务器上的完整的应用程序,以一种结构化的有层次的目录形式存在
组成web应用程序的这些文件要部署在相应的目录层次中,根目录代表整个web应用程序的”根“
通常web应用程序的目录放在webapps目录下,在webapps目录下的每一个子目录都是一个独立的web应用程序,子目录的名字就是web应用程序的名字,也就是web应用程序的”根“。用户通过web应用程序的”根“来访问web应用程序中的资源
Web程序结构
Web项目
eclipse创建并发布一个web项目
[ 1 ] New—>Dynamic Web project—>项目名
[ 2 ] WebContent新建一个index.jsp
[ 3 ] Export—>WAR file(E:\tomcat\apache-tomcat-8.0.9\webapps\docs\WEB-INF)
[ 4 ] 项目发布到tomcat的webapps,启动tomcat
[ 5 ] 测试项目:http://localhost:8080/项目名
原文链接:https://blog.csdn.net/wenteng8225/article/details/84075085

相关文章
|
5月前
|
监控 数据可视化 Java
【JAVA】分布式链路追踪技术概论
【JAVA】分布式链路追踪技术概论
72 2
|
6月前
|
监控 数据可视化 Java
【JAVA】分布式链路追踪技术概论
skywalking拥有更加的强大和细粒度的图形监控界面。
92 2
|
6月前
|
监控 负载均衡 Java
深入探究Java微服务架构:Spring Cloud概论
**摘要:** 本文深入探讨了Java微服务架构中的Spring Cloud,解释了微服务架构如何解决传统单体架构的局限性,如松耦合、独立部署、可伸缩性和容错性。Spring Cloud作为一个基于Spring Boot的开源框架,提供了服务注册与发现、负载均衡、断路器、配置中心、API网关等组件,简化了微服务的开发、部署和管理。文章详细介绍了Spring Cloud的核心模块,如Eureka、Ribbon、Hystrix、Config、Zuul和Sleuth,并通过一个电商微服务系统的实战案例展示了如何使用Spring Cloud构建微服务应用。
103579 9
|
存储 Java 调度
手撕JAVA(2)多线程(1)概论
1.概念 程序 存储在磁盘上的一段指令的集合,是静态的。 进程 运行中的程序,指计算机在某个数据集合上的一次运行活动,每个进程都有独立的资源空间,是操作系统进行资源分配与调度的基本单位。 (数据集合包含两方便,一是数据,二是硬件资源,如CPU,IO等) 线程 又称轻量级进程,是为了提高资源利用率以及CPU的并发度,而对进程进行的一种优化。线程是进程中的一个个的实体,是进程的一个个的执行单元。同一进程的线程共享该进程的资源,即电脑所分配的资源空间。
89 0
|
存储 Java API
【java规则引擎】drools6.5.0中kie的概论
什么是KIE? KIE是jBoss里面一些相关项目的统称,下图就是KIE代表的一些项目,其中我们比较熟悉的就有jBPM和Drools。 这些项目都有一定的关联关系,并且存在一些通用的API,比如说涉及到构建(building)、部署(deploying)和加载 (loading)等方面的,这些API就都会以KIE作为前缀来表示这些是通用的API。
2406 0
|
IDE Java API
Java零基础入门:概论(一)
Java零基础入门:概论(一)
136 0
Java零基础入门:概论(一)
|
3天前
|
监控 安全 Java
在 Java 中使用线程池监控以及动态调整线程池时需要注意什么?
【10月更文挑战第22天】在进行线程池的监控和动态调整时,要综合考虑多方面的因素,谨慎操作,以确保线程池能够高效、稳定地运行,满足业务的需求。
71 38
|
23小时前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?
|
5天前
|
Java 调度
[Java]线程生命周期与线程通信
本文详细探讨了线程生命周期与线程通信。文章首先分析了线程的五个基本状态及其转换过程,结合JDK1.8版本的特点进行了深入讲解。接着,通过多个实例介绍了线程通信的几种实现方式,包括使用`volatile`关键字、`Object`类的`wait()`和`notify()`方法、`CountDownLatch`、`ReentrantLock`结合`Condition`以及`LockSupport`等工具。全文旨在帮助读者理解线程管理的核心概念和技术细节。
18 1
[Java]线程生命周期与线程通信
|
2天前
|
安全 Java
在 Java 中使用实现 Runnable 接口的方式创建线程
【10月更文挑战第22天】通过以上内容的介绍,相信你已经对在 Java 中如何使用实现 Runnable 接口的方式创建线程有了更深入的了解。在实际应用中,需要根据具体的需求和场景,合理选择线程创建方式,并注意线程安全、同步、通信等相关问题,以确保程序的正确性和稳定性。