Web的服务器和Javaweb结构
上一节介绍了Eclipse中集成Tomcat环境搭建及javaweb项目的创建,下面说说什么是web服务器及javaweb的结构。
1.web应用的演变
1.1 b/s与c/s模式
B/S:Browser/Server或浏览器/服务器模式
优点是用户使用简单只要有浏览器和网络即可
常见的程序:淘宝网、京东网等
C/S:Client/Server或客户端/服务器模式
C/S的优点是能充分发挥客户端PC的处理能力
缺点是对用户的电脑配置要求较高
常见的CS程序:LOL、穿越火线、QQ
1.2 web服务器简介
web服务器有多种只需要知道下面三个就行



2 javaweb项目的结构
2.1Javaweb项目结构讲解

关于目录
Java web工程下的webapp或WebContent就是工程的发布文件夹,发布时会把该文件夹发布到tomcat的webapps里。
开发时classes文件存放路径:
buildpath:在eclipse中项目的右键java build path-source中指定工程中class文件的编译路径,一般为:test/build/classes。(test是工程名)
发布时classes文件存放路径:
发布到tomcat时(在eclipse里启动tomcat),src文件夹里的java文件经过编译后,会把.class文件放在WEB-INF文件夹里的classes文件夹中。
有一些配置文件需要放到WEB-INF的classes文件夹下,所以,通常的做法是手动在工程的WEB-INF文件夹下建立classes文件夹。如果不在工程的WEB-INF下手动建立classes,发布到tomcat时tomcat里的WEB-INF中也会有classes文件夹。
2.2 web的jar
Web App Libraries:一般是指web工程的web-inf/lib下的包(可以将此包cope到此目录下 然后刷新工程 加入的包一般能自动找到 如果找不到 右键|Properties | java Build Path | Libraries | Add Jars 可以加入)
build path中add jar可以引用工程以外的jar,如果引用了工程以外的jar,在.classpath文件中会添加(如java的jar包jre和tomcat的jar包): <classpathentry kind="lib" path="D:/workspace/ojdbc14.jar"/>web-info/lib中的jar不会往.classpath文件中会添加, 其余两者没有区别,编译的时候先找classpath中的jar如果没有则找web-info/lib中的jar。
web工程参照了很多文件,因此发布的时候要打成war包,使其变成单独的个体,放到web容器里。开发环境中eclipse会将工程打包放到tomcat下,进行关联。
2.3 web.xml
2.3.1.Web 应用名称:提供GUI工具可能会用来标记这个特定的Web应用的一个名称
<display-name>Tomcat Example</display-name>
2.3.2.Web 应用描述:给出于此相关的说明性文本
<desciption>Tomcat Example servlets and JSP pages.</desciption>
2.3.3.上下文参数:声明应用范围内的初始化参数
1 <context-param>
2 <param-name>参数名</para-name>
3 <param-value>参数值</param-value>
4 <description>参数描述</description>
5 </context-param>
在servlet里面可以通过 getServletContext().getInitParameter(“context/param”)得到
2.3.4.过滤器配置:将一个名字与一个实现javaxs.servlet.Filter接口的类相关联
1 <filter>
2 <filter-name>setCharacterEncoding</filter-name>
3 <filter-class>com.myTest.setCharacterEncodingFilter</filter-class>
4 <init-param>
5 <param-name>encoding</param-name>
6 <param-value>GB2312</param-value>
7 </init-param>
8 </filter>
9 <filter-mapping>
10 <filter-name>setCharacterEncoding</filter-name>
11 <url-pattern>/*</url-pattern>
12 </filter-mapping>
2.3.5.监听器配置
1 <listener>
2 <listerner-class>org.springframework.web.context.ContextLoaderListener</listener-class>
3 </listener>
2.3.6 Servlet配置
1 <servlet>
2 <servlet-name>servlet名称</servlet-name>
3 <servlet-class>servlet类全路径</servlet-class>
4 <init-param>
5 <param-name>参数名</param-name>
6 <param-value>参数值</param-value>
7 </init-param>
8 <run-as>
9 <description>Security role for anonymous access</description>
10 <role-name>tomcat</role-name>
11 </run-as>
12 <load-on-startup>指定当Web应用启动时,装载Servlet的次序</load-on-startup>
13 </servlet>
14 <servlet-mapping>
15 <servlet-name>servlet名称</servlet-name>
16 <url-pattern>映射路径</url-pattern>
17 </servlet-mapping>
2.3.7.会话超时配置(单位为分钟)
1 <session-config>
2 <session-timeout>120</session-timeout>
3 </session-config>
2.3.8.MIME类型配置
1 <mime-mapping>
2 <extension>htm</extension>
3 <mime-type>text/html</mime-type>
4 </mime-mapping>
2.3.9.指定欢迎文件页配置
1 <welcome-file-list>
2 <welcome-file>index.jsp</welcome-file>
3 <welcome-file>index.html</welcome-file>
4 <welcome-file>index.htm</welcome-file>
5 </welcome-file-list>
2.3.10.配置错误页面
(1).通过错误码来配置error-page
1 <!--配置了当系统发生404错误时,跳转到错误处理页面NotFound.jsp-->
2 <error-page>
3 <error-code>404</error-code>
4 <location>/NotFound.jsp</location>
5 </error-page>
(2).通过异常的类型配置error-page
1 <!--配置了当系统发生java.lang.NullException(即空指针异常)时,跳转到错误处理页面error.jsp-->
2 <error-page>
3 <exception-type>java.lang.NullException</exception-type>
4 <location>/error.jsp</location>
5 </error-page>
2.3.11.TLD配置
1 <taglib>
2 <taglib-uri>http://jakarta.apache.org/tomcat/debug-taglib</taglib-uri>
3 <taglib-location>/WEB-INF/jsp/debug-taglib.tld</taglib-location>
4 </taglib>
如果开发工具一直在报错,应该把<taglib> 放到 <jsp-config>中
1 <jsp-config>
2 <taglib>
3 <taglib-uri>http://jakarta.apache.org/tomcat/debug-taglib</taglib-uri>
4 <taglib-location>/WEB-INF/pager-taglib.tld</taglib-location>
5 </taglib>
6 </jsp-config>
Web的服务器和Javaweb结构的更多相关文章
- WEB站点服务器安全配置
WEB站点服务器安全配置 本文转自:i春秋社区 // 概述 // 熟悉网站程序 // 更改默认设置的必要性 // 目录分析与权限设置技巧 // 防止攻击其他要素 // 公司官网不可忽视的安全性 ...
- maven 创建web项目的标准目录结构
maven 创建web项目的标准目录结构 CreateTime--2018年4月18日21:05:37 Author:Marydon 1.标准目录介绍(开发目录) 2.在eclipse下,目录展示 ...
- Eclipse中创建标准web工程以及标准目录结构说明
最近公司有个Web项目,项目结构如下: 虽然运行没有错,但是实在是别扭,标准的web应用一般不采用这种结构: 因此总结一下: 1.如何在Eclipse中创建一个标准的Web应用. 2. ...
- Nodejs实现web静态服务器对多媒体文件的支持
前几天,一个同事说他写的web静态服务器不支持音视频的播放,现简单实现一下. 原理:实现http1.1协议的range部分. 其实这一点都不神秘,我们常用的下载工具,如迅雷,下载很快,还支持断点续传, ...
- [置顶] java web 动态服务器
写了一个java web 动态服务器,主要通过内部类来实现,动态类使用了外部类,采用了 classforname 实例化,动态类的构造方法不能带参数, 效果都出来了,分享给有需要的 朋友.判断做的不够 ...
- web server服务器
使用最多的 web server服务器软件有两个:微软的信息服务器(iis),和Apache. 通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序 ...
- express搭建简易web的服务器
express搭建简易web的服务器 说到express我们就会想到nodejs,应为它是一款基于nodejs平台的web应用开发框架.既然它是基于nodejs平台的框架那么就得先安装nodejs. ...
- office web apps 部署-搭建office web apps服务器
二.搭建office web apps服务器 相关文件可以去焰尾迭分享的百度网盘下载,下载地址:http://pan.baidu.com/s/1o6tCo8y#path=%252Foffice%252 ...
- 5.Nginx作为web缓存服务器
Nginx作为web缓存服务器 从0.7.48版本开始,Nginx支持类似Squid的缓存功能.Nginx的web缓存服务主要由proxy_cache相关命令集合fastcgi_cache相关命令集构 ...
随机推荐
- the way of hardware design study
1.器件 主要分类 1.MCU2.DSP3.FPGA4.Embedded5.System on Chip MCU MCU俗称单片机,通常无操作系统,用于简单的控制,如电梯,空调等. DSP DSP叫做 ...
- Python——4Dict和Set类型
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- Vue.js——学习笔记(一)
Vue-自学笔记 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅 ...
- git指令-添加远程仓库
git指令-添加远程仓库 首先在GitHub上创建属于你自己的远程仓库:例如我创建的远程仓库mybatis用于我最近保存的mybatis代码 目前,在GitHub上的这个learngit仓库还是空的, ...
- vuex源码阅读分析
这几天忙啊,有绝地求生要上分,英雄联盟新赛季需要上分,就懒着什么也没写,很惭愧.这个vuex,vue-router,vue的源码我半个月前就看的差不多了,但是懒,哈哈.下面是vuex的源码分析在分析源 ...
- FC及BFC
1.什么是FC 2.BFC块级格式化上下文(Block formatting context) Box 是 CSS 布局的对象和基本单位, 直观点来说,就是一个页面是由很多个 Box 组成的.元素的类 ...
- Vue请求第三方接口跨域最终解决办法!2020最终版!
废话少说,再百度的近三个小时尝试了近10种方法无解后,终于皇天不负有心人! 这个vue axios 跨域问题被我解决了! 需求:请求客户端ip地址获取客户ip,再根据ip获取用户位置 工具:Vue,a ...
- python入门到放弃-基本数据类型之dcit字典
1.概述 字典是python中唯一的一个映射类型,以{}大括号括起来的键值对组成 字典中的key是唯一的,必须是可hash,不可变的数据类型 语法:{key1:value,key2:value} #扩 ...
- 『配置』服务器搭建 Office Online Server2016 实现文档预览 番外 错误篇
安装一个或多个角色.角色服务或功能失败.找不到源文件.请再次尝试在新的“添加角色和功能”向导会话中安装角色.角色服务或功能,然后在向导的“确认”页中单击“指定备用源路径”以指定安装所需的源文件的有效位 ...
- idea创建简单web项目分析Servlet的请求转发与重定向的区别
注:如需转载,请附上原文链接,如有建议或意见,欢迎批评指正! 需求说明: // index.jsp页面 1 <% 2 String basePath = request.getScheme() ...