WEB相关知识和Tomcat服务器
WEB相关知识
1.Internet上供外界访问的Web资源分为:
静态web资源:指web页面中供人们浏览的数据始终是不变的。
动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
2.WEB服务器
1)一个简单的模拟web服务器的代码
eg:
package cn.lsl.server;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(9999);
while(true){
Socket socket = server.accept();
//给用户返回数据
OutputStream out = socket.getOutputStream();
//读取磁盘上的文件
InputStream in = new FileInputStream("F:\\a.html"); int len = -1;
byte b[] = new byte[1024];
while((len=in.read(b))!=-1){
out.write(b, 0, len);
}
in.close();
socket.close();
}
}
}
通过http://ip地址:9999/来访问
2)常用的服务器
WebLogic:支持JavaEE规范。称之为JavaEE容器:属于重量级服务器。
(注:即实现了什么规范的服务器就叫做什么容器。)
WebSphereAS(Application Server):支持JavaEE规范
JbossAS:支持JavaEE规范。免费
Tomcat:支持Servlet/JSP规范。轻量级服务器。
Tomcat服务器
1. Tomcat的安装与启动遇到的问题
1)注意:不要把Tocmat装到有中文或空格的目录中。
2)验证Tomcat是否成功
a、进入Tomcat\bin,执行startup.bat
b、启动过程中没有出错。最好还要打开浏览器:http://localhost:8080
3)启动Tomcat遇到的问题:
a、无法启动:配置系统环境变量JAVA_HOME=你的JDK的安装目录
Tips:
HTTP协议规定,Web应用的默认端口是80
把Tomcat使用的默认端口8080改为Web应用的默认端口80?
在TOmcat\conf目录中有一个server.xml
找到8080改为80,就可以使用默认端口了。
4)Catalina_home=Tomcat的安装目录(不建议使用)
2. Tomcat的目录结构
bin:运行Tomcat的相关命令
conf:Tomcat的配置信息所在
lib:Tomcat运行需要的jar包
logs:TOmcat的运行日志
temp:存放临时文件的
webapps:Web应用的存放目录。该目录中的每个目录都代表一个应用。
work:Tomcat的工作目录
JavaWeb应用的目录结构
1.例如MyApp
MyApp:(目录,应用的名称)
---1.html
---css
---------a.css
---WEB-INF:此目录必须有,且大小必须完全一致。该目录中的资源,用户无法直接访问到。(非常重要)
---------classes:存放Java类的字节码
---------lib:存放本应用需要的jar包
---------web.xml:本应用的配置文件
部署自己的应用到Tomcat中
方式一:把你的应用拷贝到Tomcat\webapps目录下。
方式二:把自己的应用打包成war包,再拷贝到Tomcat\webapps目录下
进入你的应用目录
执行:jar -cvf MyApp.war .
Tomcat配置虚拟目录
方式一:(不建议使用,原因就是需要重新启动)
1)修改Tomcat\conf\server.xml,找到<Host name="localhost"/>元素
2)在其中增加一个子元素,内容如下:
<Context path="/hello" docBase="E:\MyApp"/>
注:path:虚拟目录的名称。给用户来访问的。docBase:实际应用的存放目录
3)重新启动Tomcat
4)访问资源:http://localhost:8080/hello/1.html就是访问E盘下MyApp目录中的1.html
方式二:
在Tomcat\conf\[enginename]\[hostname]目录下建立一个特殊的文件,文件扩展名为xml;
文件的主文件名就是映射的虚拟路径(即<Context path="/hello" docBase="E:\MyApp"/>中的path)
增加以下内容:(hello.xml)
<?xml version="1.0"?>
<Context docBase="E:\MyApp"/>
扩展:配置E盘上的MyApp作为默认应用
1)在Tomcat\conf\[enginename]\[hostname]目录下建立一个特殊的文件,文件名ROOT.xml;
2)由于默认应用特殊,也需要重新启动Tomcat
访问MyApp下的1.html
http://locahost:8080/1.html
WEB相关知识和Tomcat服务器的更多相关文章
- JAVA WEB学习笔记(二):Tomcat服务器的安装及配置
一.Tomcat的下载及安装. 前往Tomcat官网下载安装包或者免安装压缩包.链接http://tomcat.apache.org/ 这里,我选择的是Tomcat8.0,而不是最新的Tomcat9. ...
- java web 学习三(Tomcat 服务器学习和使用2)
一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
- java web 学习二(Tomcat服务器学习和使用1)
一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...
- 将eclipse上的web项目部署到Tomcat服务器上经验总结
1. 将Tomcat插件添加到eclipse上 Window --> Preferences --> Server --> Runtime Environment --> A ...
- 在 eclipse 中将 web 项目部署到 tomcat 服务器上
1.在 eclipse 中,选择 Window--->Preferences--->Server--->Runtime Environments,选择 Add 按钮 2.在弹出的对话 ...
- Web项目运行时tomcat服务器启动失败
在实现项目的过程中,tomcat服务器启动失败的情况本人遇到了三种: 1.tomcat服务器的端口被占用. 可能的原因:a.服务器已经启动的时候你又一次启动了服务器 b.别的服务占用了服务器的端口(一 ...
- web相关知识
1,网络编程/网站编程:敲一个网站,别人可以访问 访问:在地址栏里面敲入地址,就可以访问了. 服务器如果放在公网,那么别人就可以通过IP地址进行访问 所以我们可以先在本地把我们的网站搭好,别人就可以来 ...
- web 项目 布在tomcat服务器上出现的问题小记
1.mysql 安装前需要安装.net framework 框架 mysql 无法安装 最后一布,start server 服务起不来. 原因,为上一次mysql没有删除,干净,导入无法安装. ...
- Linux系统(将web应用部署到tomcat服务器上)
一:tomcat服务开机自启动 将启动命令路径配置到/etc/profile文件中在/etc/profile 文件最后配置 /usr/tomcat/apache-tomcat-6.0.45/bin/s ...
随机推荐
- 前端开发——移动bug整理
1.ios下jquery的delegate失效问题? 解决方案: $("body").delegate(...) 改为 $(".item").delegate( ...
- 一些javascript常用方法
1.输入一个正整数n,从1累加到n,返回结果.(如果输入为非正整数,如:小数.0.负数.NaN或其它非数字则返回false) function f(n){ return ~~+n == n & ...
- 解决Ubuntu Adobe Reader 菜单栏空白
sudo gedit /usr/local/share/applications/AdobeReader.desktop将 ”Exec=acroread“ 用 ”Exec=env UBUNTU_ME ...
- bundle install 出现 'gem install mysql2 -v '0.3.15' succeeds before bunding '
bundle install 出现 'gem install mysql2 -v '0.3.15' succeeds before bunding ' 解决:sudo apt-get install ...
- android微信付费
原文地址:http://blog.csdn.net/intbird 微信官方文档地址:t=resource/res_main_tmpl&verify=1&lang=zh_CN" ...
- 开始Unity3D参观考察
前言:这个系列的文章纯属对自己学习的整理,非高手之作. 但确实的记载了我作为一个没接触过3D游戏编程的大学生的心路历程.争取每周整理一次吧. 之所以会開始学Unity3D,最基本的原因是由于在快放暑假 ...
- SDUTOJ 2054 双向链表
#include<iostream> #include<stdlib.h> using namespace std; typedef int ElemType; typedef ...
- 【转】Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9671609 记得在很早之前,我写了一篇关于Android滑动菜单的文章,其中有一个 ...
- Smarty注释代码
所有的smarty模板标签都被加上了定界符. 默认情况下是 { 和},但它们是可被改变的. 例如,我们假定你在使用默认定界符. 在smarty里,所有定界符以外的内容都是静态输出的,或者称之为不可改变 ...
- Date与SimpleDateFormat
Date常用的方法 返回类型 方法名称 备注 Date New Date() 创建当前日期对象 Date New date(long dt) 使用自1970.1.1以后的指定毫秒数创建日期 boole ...