- Oracle-应用会话集中在RAC集群一个节点问题
牛牛的笔记
oracle数据库dba运维问题分析
问题:用户一套Oracle19cRAC集群,出现一个奇怪的现象,通过SCANIP访问的连接会话都集中在节点一实例,而且用户并没有做任何的节点服务访问去控制会话的连接节点,比如常见的通过集群的高可用服务去控制应用访问连接集中在同一节点,从而避免gc产生性能消耗问题。问题分析:因为应用都是通过scanip去连接的数据库,所以我们首先先检查了scan监听listener_scan1的服务注册情况,发现监
- 数据库学习日常案例20231218-oracle 19RAC hip远程注册服务到scan listener分析
执笔画情ora
ORACLE数据库19C新特性数据库学习oracle
问题:用户一套Oracle19cRAC集群,出现一个奇怪的现象,通过SCANIP访问的连接会话都集中在节点一实例,而且用户并没有做任何的节点服务访问去控制会话的连接节点,比如常见的通过集群的高可用服务去控制应用访问连接集中在同一节点,从而避免gc产生性能消耗问题。问题分析:因为应用都是通过scanip去连接的数据库,所以我们首先先检查了scan监听listener_scan1的服务注册情况,发现监
- win10的oracle客户端环境变量设置和oraclehomekey,oraclehomedir问题
不丸子
数据库oracle
win10的oracle客户端环境变量设置打开高级设置点击新建,分别创建如下三个环境变量:ORACLE_HOME=d:\u01\Ora11InstantClient(客户端根目录)TNS_ADMIN=d:\u01\Ora10InstantClient\network\admin(tnsnames.ora所在目录)NLS_LANG=SIMPLIFIEDCHINESE_CHINA.ZHS16GBK(O
- ORA-12154 问题解决办法
宇宙李
oracleoraclePLSQLORA-121
问题ORA-12154:TNS:couldnotresolvetheconnectidentifierspecified,即无法解析指定的连接标识符。这说明缺少了一个环境变量,TNS_ADMIN。解决方法:右击我的电脑->属性->高级->环境变量->系统变量->新建,变量名为:TNS_ADMIN变量值为:%ORACLE_HOME%/NETWORK/ADMIN/其中%ORACLE_HOME%即Orc
- ORA-12154:TNS:could not resolve the connect identifier specified
梦中千秋
数据库
避免中文乱码NLS_LANG:AMERICAN_AMERICA.UTF8tnsnames.ora所在目录TNS_ADMIN:F:\Program\instantclient_11_2\NETWORK\ADMIN
- oracle 查看白名单,oracle配置访问白名单教程
不负光阴
oracle查看白名单
出于提高数据安全性等目地,我们可能想要对oracle的访问进行限制,允许一些IP连接数据库或拒绝一些IP访问数据库。当然使用iptables也能达到限制的目地,但是从监听端口变更限制仍可生效、只针对oracle自己不和其他端口的限制相混杂和不需要root账号这几方面来说,通过配置sqlnet.ora文件来进行访问限制可能是一种更好的选择。1.配置sqlnet.ora文件进入$TNS_ADMIN(一
- oracle配置访问白名单教程
weixin_34319999
数据库网络
出于提高数据安全性等目地,我们可能想要对oracle的访问进行限制,允许一些IP连接数据库或拒绝一些IP访问数据库。当然使用iptables也能达到限制的目地,但是从监听端口变更限制仍可生效、只针对oracle自己不和其他端口的限制相混杂和不需要root账号这几方面来说,通过配置sqlnet.ora文件来进行访问限制可能是一种更好的选择。1.配置sqlnet.ora文件进入$TNS_ADMIN(一
- 堡垒机出现 请确认是否安装客户端,应用程序无法运行现象解决
点、滴
数据库oraclelinux
一、原因本地的客户端没有配置客户端的环境变量,只在自己的电脑工具上可以连接二、解决打开电脑的配置环境变量界面如下图:新增3个环境变量:变量名:ORACLE_HOME变量值:D:\ProgramFiles\oracle(如果没有安装Oracle客户端,可配置为Plsql工具的路径)变量名:TNS_ADMIN变量值:D:\ProgramFiles\instantclient\network\admin
- oracle11g环境下,配置使用10g客户端,并允许自动备份10g的数据库
hslisz
oracle数据库数据库oracle
oracle11g环境下,配置使用10g客户端,并允许自动备份10g的数据库1.安装了oracle11g2.环境变量中配置path,增加客户端oci.dll所在路径,顺序排在oracle…\bin路径之前3.环境变量中增加TNS_ADMIN项,指到oracle…\network\admin-----------到此,应用程序可正常运行---------------------以下是解决备份的问题-
- python实现与Oracle数据库交互操作示例
目录1、安装准备2、instantclient的安装说明3、instantclient安装步骤4、还有几个需要注意的地方1)设置NLS_LANG环境变量:解决中文乱码2)关于TNS_ADMIN环境变量的说明3)关于python中,cx_Oracle驱动包的安装5、python操作Oracle数据库1)python连接数据库的3种方式2)查询数据…查1、安装准备①正确安装好Oracle数据库(我的电
- Oracle安装TNS_ADMIN环境变量设置参考
很多oracle产品都有自己的TNS文件,如果你的系统里装了多个Oracle的产品的话,那么客户端连instance的时候,到底是使用那个tnsnames.ora呢?这个时候就需要看TNS_ADMIN这个参数了。Question:Whatisthetns_adminparameterandhowdoIusetns_admintodefineacommonlocationformyTNSfiles?
- ArcGIS 配置 Oracle 空间数据库
litterbug21
1、首先安装win64_11gr2_database安装到最后一步的时候,可以点击右下方的按钮,配置登陆用户名密码,将sys的口令配置成自己好记的方便后面使用。2、安装win32_11gr2_client3、设置TNS_ADMIN,ORACLE_HOME环境变量
- oracle
自我觉知
oracle安装:先安装oracle客户端,配置tnsnames.ora文件,配置环境变量TNS_ADMIN,NLS_LANG.安装pl/sql;把oracle客户端目录复制到pl/sql的安装目录下pl/sql配置oracle的主目录及oci目录工具-首选项-连接参考文档:https://www.cnblogs.com/1312mn/p/9214061.htmloracle架构:客户端:用户进程
- plsql11 x64 安装和配置 解决OCI: not initialized
javabaidu
数据库
下载了instantclient-basic-windows.x64-12.1.0.2.0.zip和plsqldeveloper11x64.zip配置instantclient解压instantclient到d:\instantclient_12_1配置以下环境变量TNS_ADMIN=d:\instantclient_12_1PATH变量最后加;%TNS_ADMIN%安装plsql设置PLSQLD
- Oracle 10g Instant Client卸载方法
shmiloy001
Oracle专栏
卸载方法:1.桌面上,右键点“我的电脑”,选择“属性”,选择“高级”页中的“环境变量”,在系统变量中,删除ORACLE_HOME,TNS_ADMIN,NLS_LANG三个变量,修改path变量,去掉D:/ProgramFiles/instantclient_10_2目录。2.删除D:/Progra~1/instantclient_10_2目录.
- windows中配置oracle环境变量
飞翔的阿文
oracle
首先是ORACLE_HOME,按计算机(我的电脑)右击-》高级系统设置-》高级-》环境变量-》在系统变量中新建:变量名ORACLE_HOME变量值D:\app\B02\product\11.2.0\dbhome_1第二,配置TNS_ADMIN变量名TNS_ADMIN变量值D:\app\B02\product\11.2.0\dbhome_1\NETWORK\ADMIN变量名NLS_LANG。变量值S
- FM和Transformer客户端工具安装配置注意项
qq_38158240
Cognos
FM和Transformer客户端工具安装配置注意项正常安装配置url后报如下错误:QE-DEF-0285登录失败。QE-DEF-0325由于以下原因导致登录失败:RQP-DEF-0068对Oracle_report中的1个数据库进行多项连接时,至少无法连接一个数据库。UDA-SQL-0432无法找到“cogudaor”网关。解决方案:检查Windows环境变量的配置TNS_ADMIN:E:\Or
- win7 安装phthon cx_Oracle支持库--手记
hxl5u
python
版本必须对应:win764bit、Oracleclient64bit、python2.764bit、cx_Oracle才能安装成功、1.安装Oracleclient64bit、设置ORACLE_HOME(安装路径)、TNS_ADMIN(tns.ora路径)2.pipinstallcx_Oracle,如有超时等情况可以使用国内镜像如:pipinstall--indexhttps://pypi.mir
- 让windows python支持ORACLE之cx_Oracle-手记
hxl5u
python
注意所有版本必须一致(32位或64位)。否则浪费时间:win764bit、Oracleclient64bit、python2.764bit、cx_Oracle64bit才能安装成功…安装Oracleclient64bit、设置ORACLE_HOME、TNS_ADMIN安装cx_Oracle64bit期间如有c++编编译器译错误,需安装VC++forPython安装cx_Oracle模块:pipin
- Navicat连接oracle,出现Only compatible with oci version 8.1 and higher. your version:0.0.0.0.0
chengji7575
1.今天突然遇到这个问题,前几天都能正常使用2.期间我只做了一件事,安装了mysql数据库3.问题就在装mysql数据库上,于是我去看了环境变量,发现客户端早path里不见了---------------------以下是环境变量的设置------------------------------1.查看TNS_ADMIN2.查看NLS_LANG3.查看PATH很明显少了TNS_ADMIN中客户端的
- Oracle SCAN监听配置静态注册
DBhanG
oracle数据库RAClinux
SCAN监听的配置文件位置:[grid@rac19cn1~]$cd$ORACLE_HOME/network/admin[grid@rac19cn1admin]$lllistener.ora-rw-r--r--1gridoinstall1332Sep1015:29listener.ora添加内容如下:LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS
- PLSQL配置及远程连接数据库
gclhaha
软件
配置参考:https://blog.csdn.net/qiucheng_198806/article/details/80361944配置环境变量变量名:ORACLE_HOME变量值:E:\PLSQLDeveloper\instantclient_11_2变量名:TNS_ADMIN变量值:E:\PLSQLDeveloper\instantclient_11_2变量名:NLS_LANG变量值:SIM
- PLSQL中“TNS名”空白解决方法
青妙山
数据库
在系统变量中添加如下变量:1、指向Oracle的TNS文件所在目录。TNS文件就是保存了连接信息的文件。TNS_ADMIN:C:\Oracle\product\12.2.0\dbhome_1\NETWORK\ADMIN2、指定数据库使用的编码,以免出现乱码。NLS_LANG:SIMPLIFIEDCHINESE_CHINA.ZHS16GBK
- Oracle数据库TNS错误解决方法
weixin_34233856
ORA-12154:TNS:couldnotresolvetheconnectidentifierspecified,即无法解析指定的连接标识符。这说明缺少了一个环境变量,TNS_ADMIN解决方法:windows:右击我的电脑->属性->高级->环境变量->Administrator的用户变量->新建,变量名为:TNS_ADMIN变量值为:%ORACLE_HOME%/NETWORK/ADMIN/
- PLSQL报ora-12514的解决方案
梦卿心
ORACLE
oracle刚安装时候,使用plsql连接数据会报出ora-12514的错误,这种错误很大一部分原因是因为数据库监听未配置好造成的,下面给出解决方案:配置环境变量TNS_ADMIN,变量值为tnsnames.ora的生成路径生成tnsnames.ora进入NetConfigurationAssisatant配置监听,自动生成tnsnames.ora一直点击下一步,直到完成查看环境变量中配置的路径中
- plsql如何配置连接oracle数据库
vzdong1
转载自点击打开链接1、首先下载instantclient_11_2工具(http://download.csdn.net/detail/u013804636/9746431)2、在下载的工具中的目录instantclient_11_2\NETWORK\ADMIN\下添加并配置文件tnsnames.ora3、再windows环境变量中新增以下变量TNS_ADMIN:E:\instantclient_
- 通过crontab运行脚本和环境变量的问题
wgz7747147820
linux
最近oracle的新版本出现了一个新变化,在运行oracle测试脚本的时候,需要设置TNS_ADMIN环境变量,如果不设置,会遇到以下错误TNS-03505/ora-12154/ora-12162通过在/etc/profile和/etc/bashrc进行设置,发现都不会读取/etc/profile是用于交互式登录的环境变量/etc/bashrc是用于非交互式的环境变量设置而crontab这两个文件
- (转)plsql11 x64 安装和配置 解决OCI: not initialized
dianmie4090
数据库c/c++网络
跟帖子一样,安装了pl/sql,设置了oci.dll以及TNS_ADMIN,加入path后不能显示数据库连接。安装microsoftvisualc++redistributable2010x64原贴:plsql11x64安装和配置解决OCI:notinitialized下载了instantclient-basic-windows.x64-12.1.0.2.0.zip和plsqldeveloper1
- oracle监听程序,是什么时候,选择的listener.ora?答:是在创建监听服务的时候,而不是启动监听服务的时候
Ideality_hunter
oracle监听程序,是什么时候,选择的listener.ora?答:是在创建监听服务的时候,而不是启动监听服务的时候。如果你设置了tns_admin环境变量,则使用tns_admin环境变量指定的路径下读取listener.ora。如果没有设置tns_admin,则读取oracle安装录下的,..\product\11.2.0\dbhome_1\NETWORK\ADMIN下的listener.o
- 关于Oracle net Manager中点击无法创建监听程序的解决方案
谢映玲
数据库
首先查看你的环境变量中是否有如果没有请添加该环境变量。变量名为:TNS_ADMIN变量值为:E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN;(如果你更改了默认目录,请找到相应的目录加进去),添加完成之后,重启电脑。(重启电脑是为了让新添加的环境变量TNS_ADMIN生效)然后,将服务中将OracleOraDb11g_home2T
- java工厂模式
3213213333332132
java抽象工厂
工厂模式有
1、工厂方法
2、抽象工厂方法。
下面我的实现是抽象工厂方法,
给所有具体的产品类定一个通用的接口。
package 工厂模式;
/**
* 航天飞行接口
*
* @Description
* @author FuJianyong
* 2015-7-14下午02:42:05
*/
public interface SpaceF
- nginx频率限制+python测试
ronin47
nginx 频率 python
部分内容参考:http://www.abc3210.com/2013/web_04/82.shtml
首先说一下遇到这个问题是因为网站被攻击,阿里云报警,想到要限制一下访问频率,而不是限制ip(限制ip的方案稍后给出)。nginx连接资源被吃空返回状态码是502,添加本方案限制后返回599,与正常状态码区别开。步骤如下:
- java线程和线程池的使用
dyy_gusi
ThreadPoolthreadRunnabletimer
java线程和线程池
一、创建多线程的方式
java多线程很常见,如何使用多线程,如何创建线程,java中有两种方式,第一种是让自己的类实现Runnable接口,第二种是让自己的类继承Thread类。其实Thread类自己也是实现了Runnable接口。具体使用实例如下:
1、通过实现Runnable接口方式 1 2
- Linux
171815164
linux
ubuntu kernel
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.2-unstable/
安卓sdk代理
mirrors.neusoft.edu.cn 80
输入法和jdk
sudo apt-get install fcitx
su
- Tomcat JDBC Connection Pool
g21121
Connection
Tomcat7 抛弃了以往的DBCP 采用了新的Tomcat Jdbc Pool 作为数据库连接组件,事实上DBCP已经被Hibernate 所抛弃,因为他存在很多问题,诸如:更新缓慢,bug较多,编译问题,代码复杂等等。
Tomcat Jdbc P
- 敲代码的一点想法
永夜-极光
java随笔感想
入门学习java编程已经半年了,一路敲代码下来,现在也才1w+行代码量,也就菜鸟水准吧,但是在整个学习过程中,我一直在想,为什么很多培训老师,网上的文章都是要我们背一些代码?比如学习Arraylist的时候,教师就让我们先参考源代码写一遍,然
- jvm指令集
程序员是怎么炼成的
jvm 指令集
转自:http://blog.csdn.net/hudashi/article/details/7062675#comments
将值推送至栈顶时 const ldc push load指令
const系列
该系列命令主要负责把简单的数值类型送到栈顶。(从常量池或者局部变量push到栈顶时均使用)
0x02 &nbs
- Oracle字符集的查看查询和Oracle字符集的设置修改
aijuans
oracle
本文主要讨论以下几个部分:如何查看查询oracle字符集、 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题。
一、什么是Oracle字符集
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货
- png在Ie6下透明度处理方法
antonyup_2006
css浏览器FirebugIE
由于之前到深圳现场支撑上线,当时为了解决个控件下载,我机器上的IE8老报个错,不得以把ie8卸载掉,换个Ie6,问题解决了,今天出差回来,用ie6登入另一个正在开发的系统,遇到了Png图片的问题,当然升级到ie8(ie8自带的开发人员工具调试前端页面JS之类的还是比较方便的,和FireBug一样,呵呵),这个问题就解决了,但稍微做了下这个问题的处理。
我们知道PNG是图像文件存储格式,查询资
- 表查询常用命令高级查询方法(二)
百合不是茶
oracle分页查询分组查询联合查询
----------------------------------------------------分组查询 group by having --平均工资和最高工资 select avg(sal)平均工资,max(sal) from emp ; --每个部门的平均工资和最高工资
- uploadify3.1版本参数使用详解
bijian1013
JavaScriptuploadify3.1
使用:
绑定的界面元素<input id='gallery'type='file'/>$("#gallery").uploadify({设置参数,参数如下});
设置的属性:
id: jQuery(this).attr('id'),//绑定的input的ID
langFile: 'http://ww
- 精通Oracle10编程SQL(17)使用ORACLE系统包
bijian1013
oracle数据库plsql
/*
*使用ORACLE系统包
*/
--1.DBMS_OUTPUT
--ENABLE:用于激活过程PUT,PUT_LINE,NEW_LINE,GET_LINE和GET_LINES的调用
--语法:DBMS_OUTPUT.enable(buffer_size in integer default 20000);
--DISABLE:用于禁止对过程PUT,PUT_LINE,NEW
- 【JVM一】JVM垃圾回收日志
bit1129
垃圾回收
将JVM垃圾回收的日志记录下来,对于分析垃圾回收的运行状态,进而调整内存分配(年轻代,老年代,永久代的内存分配)等是很有意义的。JVM与垃圾回收日志相关的参数包括:
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-Xloggc
-XX:+PrintGC
通
- Toast使用
白糖_
toast
Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。
创建Toast
两个方法创建Toast
makeText(Context context, int resId, int duration)
参数:context是toast显示在
- angular.identity
boyitech
AngularJSAngularJS API
angular.identiy 描述: 返回它第一参数的函数. 此函数多用于函数是编程. 使用方法: angular.identity(value); 参数详解: Param Type Details value
*
to be returned. 返回值: 传入的value 实例代码:
<!DOCTYPE HTML>
- java-两整数相除,求循环节
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class CircleDigitsInDivision {
/**
* 题目:求循环节,若整除则返回NULL,否则返回char*指向循环节。先写思路。函数原型:char*get_circle_digits(unsigned k,unsigned j)
- Java 日期 周 年
Chen.H
javaC++cC#
/**
* java日期操作(月末、周末等的日期操作)
*
* @author
*
*/
public class DateUtil {
/** */
/**
* 取得某天相加(减)後的那一天
*
* @param date
* @param num
*
- [高考与专业]欢迎广大高中毕业生加入自动控制与计算机应用专业
comsci
计算机
不知道现在的高校还设置这个宽口径专业没有,自动控制与计算机应用专业,我就是这个专业毕业的,这个专业的课程非常多,既要学习自动控制方面的课程,也要学习计算机专业的课程,对数学也要求比较高.....如果有这个专业,欢迎大家报考...毕业出来之后,就业的途径非常广.....
以后
- 分层查询(Hierarchical Queries)
daizj
oracle递归查询层次查询
Hierarchical Queries
If a table contains hierarchical data, then you can select rows in a hierarchical order using the hierarchical query clause:
hierarchical_query_clause::=
start with condi
- 数据迁移
daysinsun
数据迁移
最近公司在重构一个医疗系统,原来的系统是两个.Net系统,现需要重构到java中。数据库分别为SQL Server和Mysql,现需要将数据库统一为Hana数据库,发现了几个问题,但最后通过努力都解决了。
1、原本通过Hana的数据迁移工具把数据是可以迁移过去的,在MySQl里面的字段为TEXT类型的到Hana里面就存储不了了,最后不得不更改为clob。
2、在数据插入的时候有些字段特别长
- C语言学习二进制的表示示例
dcj3sjt126com
cbasic
进制的表示示例
# include <stdio.h>
int main(void)
{
int i = 0x32C;
printf("i = %d\n", i);
/*
printf的用法
%d表示以十进制输出
%x或%X表示以十六进制的输出
%o表示以八进制输出
*/
return 0;
}
- NsTimer 和 UITableViewCell 之间的控制
dcj3sjt126com
ios
情况是这样的:
一个UITableView, 每个Cell的内容是我自定义的 viewA viewA上面有很多的动画, 我需要添加NSTimer来做动画, 由于TableView的复用机制, 我添加的动画会不断开启, 没有停止, 动画会执行越来越多.
解决办法:
在配置cell的时候开始动画, 然后在cell结束显示的时候停止动画
查找cell结束显示的代理
- MySql中case when then 的使用
fanxiaolong
casewhenthenend
select "主键", "项目编号", "项目名称","项目创建时间", "项目状态","部门名称","创建人"
union
(select
pp.id as "主键",
pp.project_number as &
- Ehcache(01)——简介、基本操作
234390216
cacheehcache简介CacheManagercrud
Ehcache简介
目录
1 CacheManager
1.1 构造方法构建
1.2 静态方法构建
2 Cache
2.1&
- 最容易懂的javascript闭包学习入门
jackyrong
JavaScript
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。
一、变量的作用域
要理解闭包,首先必须理解Javascript特殊
- 提升网站转化率的四步优化方案
php教程分享
数据结构PHP数据挖掘Google活动
网站开发完成后,我们在进行网站优化最关键的问题就是如何提高整体的转化率,这也是营销策略里最最重要的方面之一,并且也是网站综合运营实例的结果。文中分享了四大优化策略:调查、研究、优化、评估,这四大策略可以很好地帮助用户设计出高效的优化方案。
PHP开发的网站优化一个网站最关键和棘手的是,如何提高整体的转化率,这是任何营销策略里最重要的方面之一,而提升网站转化率是网站综合运营实力的结果。今天,我就分
- web开发里什么是HTML5的WebSocket?
naruto1990
Webhtml5浏览器socket
当前火起来的HTML5语言里面,很多学者们都还没有完全了解这语言的效果情况,我最喜欢的Web开发技术就是正迅速变得流行的 WebSocket API。WebSocket 提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看6个HTML5教程介绍里 的 WebSocket API:它可用于客户端、服
- Socket初步编程——简单实现群聊
Everyday都不同
socket网络编程初步认识
初次接触到socket网络编程,也参考了网络上众前辈的文章。尝试自己也写了一下,记录下过程吧:
服务端:(接收客户端消息并把它们打印出来)
public class SocketServer {
private List<Socket> socketList = new ArrayList<Socket>();
public s
- 面试:Hashtable与HashMap的区别(结合线程)
toknowme
昨天去了某钱公司面试,面试过程中被问道
Hashtable与HashMap的区别?当时就是回答了一点,Hashtable是线程安全的,HashMap是线程不安全的,说白了,就是Hashtable是的同步的,HashMap不是同步的,需要额外的处理一下。
今天就动手写了一个例子,直接看代码吧
package com.learn.lesson001;
import java
- MVC设计模式的总结
xp9802
设计模式mvc框架IOC
随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越
来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。
其中‘层’是逻辑上的划分。
三层体系结构是将整个系统划分为如图2.1所示的结构[3]
(1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。
该层用于向客户端用户提供GUI交互,它允许用户