Web应用程序简介
应用程序:指允许用户执行特定任务的软件程序,主要分为桌面应用程序和Web应用程序两种类型。
桌面应用程序(Desktop Application):一般是指采用客户机/服务器结构(Client/Server)的应用程序。
C/S模式将应用与服务分离,系统具有稳定性和灵活性
C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性
由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快
在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂
Web应用程序(Web Application)
Web应用程序一般是指采用浏览器和服务器结构(Browser/Server,简称B/S结构)的应用程序。
Web服务器:Web服务器上装有某个应用程序,这个Web服务器应用程序负责接收客户请求进行处理,向客户返回结果
Web应用程序由Web服务器和Web客户端组成
Web客户端:允许用户请求服务器上的某个资源,并且向客户端返回结果。Web应用程序的客户端一般是指Web浏览器。Web浏览器就是一个软件,它知道怎么与服务器通信,它还有一个重要任务,就是解释HTML代码,把Web页面呈现给用户
B/S模式的优点:
(1)易于维护:基于B/S模型的系统当需要升级或维护时,只需修改服务器程序即可。
(2)易于实现。B/S模型的表现层可以用制作网页的html来实现,浏览器和网页设计技术已经相当成熟。而且用Java技术开发的Web系统可以安装在任意一种服务器系统平台上,也就是常说的具有跨平台性。
(3)使用方便,无论客户在什么地方,只要服务器正在运行,客户就能通过网络进行连接,实现对数据的访问和操作。
Tomcat服务器
Tomcat官方站点:http://jakarta.apache.org
获取Tomcat安装程序包
tar.gz文件是Linux操作系统下的安装版本
exe文件是Windows系统下的安装版本
zip文件是Windows系统下的压缩版本
双击 bin 目录下的startup.bat 文件
输入 http://localhost:8080/,显示如下界面代表安装成功
常见启动问题
Java_home环境变量
• 在windows中设置java_home环境变量
• 只要在setclasspath.bat批处理文件第一次使用JAVA_HOME环境变量之前的任何地方,将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了。
端口占用问题 :netstat -na命令和fport工具(可以查看有哪些网络端口号被监听)
Web.xml文件是整个web应用中最重要的配置文件,它必须放在WEB-INF目录中。在开发web应用时,但凡涉及到对web应用中的web资源进行配置,通通是在web.xml文件中进行设置。例如:
某个web资源配置为网站首页
将servlet程序映射到某个url地址上
为web应用配置监听器
为web应用配置过滤器
认识web.xml文件的作用:
通过web.xml文件把某个web资源配成网站首页。
l 部署描述符文件
<WEB应用程序>/WEB-INF/web.xml
<Tomcat主目录>/conf/web.xml
l 目录的默认网页文件
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
在一个tomcat服务器中可以放置多个网站,所谓配置虚似主机,就是在tomcat服务器中配置一个网站。
如需在WEB服务器中配置一个网站,需使用Host元素进行配置,例:
<Hostname=”site1”appBase=”c:\app”></Host>
配置的主机(网站)要想被外部访问,必须在DNS服务器或windows系统中注册。
配置多个网站。
缺省虚似主机。
一个<Connector>元素用于配置一个对外的连接器,对于WEB服务器上的每一个监听端口号,都要使用一个单独的<Connector>元素。
一个<Connector>元素对应的连接器必须有一个相关的<Engine>元素,将一个或多个<Connector>元素与某个<Engine>元素相关联的方式就是将它们嵌套在同一个<Service>元素中。
<Servicename="…">
<Connectorport="…" …/>
<Enginename="…" >
<Hostname="…" >
<Context…>
</Context>
</Host>
</Engine>
</Service>