tomcat服务器
来源:互联网 发布:越南语发音翻译软件 编辑:程序博客网 时间:2024/06/10 20:39
web开发入门
回顾软件结构分类
C/S: 客户端与服务器端 特点: 1)需要安装特定的客户端 2)服务器程序升级,那么客户端程序同步升级 B/S: 浏览器与服务器端 特点: 1) 不需要安装特定的客户端(只需要一个浏览器软件) 2) 服务器程序升级,客户端程序不需要升级。 结论:进入web开发之后,软件结构从C/S 过渡到 B/S java web开发就是基于B/S结构软件。
服务器
从物理上来说,服务器就是一台PC机器。通常配置比较高。CPU 4核,内存8G以上,硬盘T web服务器:在PC机器上,安装了web服务软件,提供web服务 数据库服务器:在PC机器上,安装了数据库软件(mysql/oracle/sql server),提供了数据存储的服务 邮件服务器:在PC机器上,安装了收发邮件服务软件,提供了收发邮件的功能 收邮件服务器:pop3.126.com 发邮件服务器:stmp.126.com
web服务软件原理
web服务软件作用:把本地的资源公开给外部访问。 javaweb: B/S 浏览器- >web服务软件
/** * socket服务器端程序 * 1)把本地资源读取 * 2)发送给不同的客户端 * @author APPle * */public class SocketServer { public static void main(String[] args) throws Exception{ //1.创建ServerSocket ServerSocket server = new ServerSocket(8888); System.out.println("服务器已经启动...."); while(true){ //2.接收客户端的请求 Socket socket = server.accept(); //3.读取本地的文件 File file = new File("e:/myweb/test.html"); FileInputStream fis = new FileInputStream(file); //4.构建数据发送通道 OutputStream out = socket.getOutputStream(); //5.开始发送数据 byte[] buf = new byte[1024]; int len = 0; while( (len=fis.read(buf))!=-1 ){ out.write(buf, 0, len); } //6.关闭资源 fis.close(); out.close(); } }}
常用的市面上web服务软件
web服务软件 , 也可以说成是web服务器 WebLogic: 是BEA公司的产品。支持JavaEE规范。收费的。 javaSE规范:支持 IO流,集合,网络编程,线程技术 javaEE规范: 支持13种技术。servlet、jsp、ejb、jdbc WebSphere: 是IBM公司的产品。支持JavaEE规范。收费的。解决方案 WebSphere -> IBM操作系统(aix)- IBM服务器PC - IBM数据库(DB2) JBoss: 是Redhat公司的产品。支持JavaEE规范。linux。软件免费开源的。服务收费的。 Tomcat: 是 Apache开源组织的产品。支持servlet/jsp规范(不支持ejb)。开源免费的 tomcat用在中小应用。 web开发基础阶段重点使用tomcat服务器
Tomcat服务器
基本操作
1)去apache官网。www.apache.org . tomcat的产品页面: http://jakarta.apache.org 2)tomcat不同的安装包 安装版本: window(exe msi) linux(rmp) 压缩版本: 不分window和linux (zip 、 tar 、rar) 学习时使用
启动和关闭
1)启动 a)找到%tomcat%/bin/startup.bat,双击,弹出一个窗口停止不动。 b)确认窗口上显示没有任何错误,然后打开浏览器输入: http://localhost:8080 看到一只猫,证明tomcat服务器启动成功!!! 2)关闭 找到%tomcat%/bin/shutdown.bat,双击。
体验tomcat服务器作用
tomcat服务器作用:把本地资源公开给外部访问 webapps: 把需要公开访问的文件放到该目录
URL
URL: 统一资源定位符。用于定位基于http协议的资源。 浏览器: http://localhost:8080/myweb/test.html http:// : 协议,http协议 执行流程: 在本地找hosts文件,如果找不到,联网找网络运营商的DNS服务器 localhost 域名。 localhost: 本地域名 www.baidu.com: 外地域名 8080 定位具体的一个软件。 tomcat: 8080 mysql:3306 oracle: 1521 myweb : web应用的根目录。 test.html: web资源 练习: 1)把tomcat服务器启动 2)在webapps建立 myweb目录,编写一个html文件 3)互相通过浏览器访问(URL)
tomcat服务器常见问题
1)闪退 原因: 在tomcat服务器启动时(运行startup命令),在本地环境变量中查找一个叫JAVA_HOME的环境变量。(tomcat用java开发,需要用jvm运行) 解决办法: 在本地环境变量中添加一个JAVA_HOME JAVA_HOME= C:\Program Files\Java\jdk1.6.0_30 2)端口占用问题 原因: tomcat服务器启动所需端口被其他软件所占用 解决办法: 1)把占用端口的软件停止掉(进程杀死) 2)改变tomcat服务器启动端口 找到%tomcat%/conf/server.xml
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
3)CATALINA_HOME环境变量 原因: tomcat在启动后会通过CATALINA_HOME环境变量加装tomcat的根目录下的文件(例如conf、webapps) 解决办法:建议不要设置CATALINA_HOME环境变量 注意:安装版的tomcat会自动设置CATALINA_HOME环境变量设
Tomcat服务器目录结构
|-bin: 目录。存放tomcat操作命令。bat是window版本,sh是linux版本。 startup.bat : 后台在调用catalina.bat start shutdown.bat : 后台在调用catalina.bat stop |-conf: 目录。存在tomcat服务器软件的配置文件。server.xml文件是核心配置文件。 |-lib:目录。支撑tomcat软件运行的jar包。 |-logs:目录。存在tomcat服务器运行过程中日志信息。 |-temp: 目录。tomct的临时目录,存在临时文件。 |-webapps: 目录。存在web应用的目录 |-work: 目录。tomcat运行目录。存放jsp页面运行过程中产生的临时文件。
web应用目录结构(规范)
|- WebRoot: 根目录。一个web应用必须有一个根目录。 |- 静态资源: html+css+javascript+images+xml |-WEB-INF: 目录。名称是固定写法。 |-classes: (可选) 目录。名称是固定写法。存放class字节码 |-lib: (可选)目录。名称是固定写法。存放jar包。不能有子目录,全部jar包放在根目录下。 |-web.xml: 文件。web应用的配置文件。 注意: 1)不做任何配置的情况下,WEB-INF目录下的文件不能直接通过浏览器访问。 2)在web.xml文件中进行配置,那么WEB-INF目录下的内容就可以被外部访问到!!!
web应用部署三种方法
1)直接把web应用拷贝到webapps目录下 默认web应用:ROOT是默认应用。访问默认应用,不需要web应用名称。 默认资源:访问默认资源,不需要web资源名称。 在web.xml文件中配置
<!-- 默认资源--> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>test.html</welcome-file> <welcome-file>abc.html</welcome-file> </welcome-file-list>
问题:tomcat软件和web应用绑定在一起。 解决办法: 把tomcat软件和web应用分离!!!使用到虚拟web应用(虚拟网站) 2)虚拟网站配置 在%tomcat%/conf/server.xml文件中修改:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <!--配置虚拟网站 docBase: web应用所在的绝对路径位置。 path: 访问web应用使用的名称。名称可以自定义 --> <Context docBase="C:\projects\myweb" path="/itcast"/></Host>
注意: 如果path为空字符串,那么也不需要名称访问该web应用,而且优先于ROOT应用。 问题:修改了server.xml核心配置文件,风险比较高。 解决办法: 添加配置文件方法配置虚拟网站。 3)添加配置文件方法配置虚拟网站(推荐使用) 在%tomcat%/conf/Catalina/localhost目录下,添加abc.xml文件
<?xml version="1.0" encoding="utf-8"?><!-- 配置虚拟网站 访问web应用名称就是xml的文件名abc--><Context docBase="C:\projects\myweb"/>
Tomcat的站点配置
站点的配置:
<!--- 配置一个新的站点: www.baidu.com name: 站点的名称 appBase:站点的根目录 --> <Host name="www.baidu.com" appBase="C:\baidu" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host>
2)修改本地域名和ip的映射文件hosts文件,加上 127.0.0.1 www.baidu.com 3)启动tomcat,访问测试 在浏览器访问: 默认站点: http://localhost:8080 新站点: http://www.baidu.com:8080/news/index.html练习: 在本地tomcat服务器上配置一个新浪站点。域名: www.sina.com.cn
7手动开发动态资源
静态资源 vs 动态资源
静态资源: html+css+javascript 动态资源: servlet+jsp 静态资源: 当用户多次访问该资源时,资源的源代码永远不会发送改变的资源。 动态资源: 当用户多次访问该资源时,资源的源代码可能会发生改变的资源。
开发动态资源技术
Servlet技术: 用java语言开发动态资源的技术 Servlet技术特点: 1)Servlet是普通的java类,继承HttpServlet类,覆盖doGet方法 2)Servlet程序必须由tomcat服务器运行!!! 开发servlet的步骤: 1)编写servlet程序,继承HttpServlet
/** * 第一个servlet程序 * @author APPle * */public class HelloServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //向浏览器输出内容 resp.getWriter().write("this is first servlet!!!"+new Date()); }}
2)把servlet交给tomcat服务器运行!!! 2.1 把class字节码文件拷贝到web应用的WEB-INF/classes目录下 2.2 在web应用的web.xml文件配置servlet
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!--配置一个servlet --> <servlet> <!-- servet的内部名称。可以自定义--> <servlet-name>HelloServlet</servlet-name> <!--- servlet程序的全名:包名+简单类名 --> <servlet-class>gz.itcast.b_servlet.HelloServlet</servlet-class> </servlet> <!-- servlet的映射配置--> <servlet-mapping> <!--servet的内部名称,和上面内部名称保持一致!!! --> <servlet-name>HelloServlet</servlet-name> <!-- servlet映射路径: 表示在浏览器上访问该servlet程序的名称。该名称可以自定义 --> <url-pattern>/hello</url-pattern> </servlet-mapping></web-app>
3)浏览器访问servlet: http://localhost:8080/myweb/hello
使用工具开发动态资源
1)创建一个web proejct 2)在WebRoot下编写静态资源文件(html+css+javascript) 3)在src目录下编写servlet动态资源 使用servlet代码生成器: a)右键src- > new -> 点击”servlet“ b)servlet的包,类名,指定覆盖的方法(doGet) c)next-> servlet内部名称(不用改)-> url (访问servlet名称,可以改) -> finished 点击finished之后,生成servlet的代码和web.xml的配置信息 4)关联tomcat服务器 a)window-> preferences- > MyEcplise->servers-> Tomcat6.X b)选择tomcat的根目录,然后enable。 5)部署项目 6)启动tomcat,访问测试
阅读全文
0 0
- Tomcat服务器
- tomcat服务器
- Tomcat服务器
- Tomcat服务器
- Tomcat服务器
- Tomcat服务器
- Tomcat服务器
- TomCat服务器
- Tomcat服务器
- Tomcat服务器
- Tomcat服务器
- Tomcat服务器
- Tomcat服务器
- Tomcat 服务器
- tomcat服务器
- Tomcat服务器
- tomcat服务器
- Tomcat服务器
- 在IIS7或IIS7.5中导入导出站点及应用程序池(附:重新注册.net 4.0 )
- UVA 10457 Magic Car——最小瓶颈路
- SQL语句百万数据量优化方案
- Oracle中的常用命令
- [JavaScript]ECMA-262-3 深入解析.第三章.作用域链
- tomcat服务器
- a+b
- Blog16@linux存储设备的管理(2)—分区
- sqlmap一力破十会
- 旋转数组的最小数字
- C++ STL 第五次实验
- canvas中的Uncaught TypeError: Cannot read property 'getContext' of null 错误
- C++:观察者模式
- [RK3288][Android6.0] 调试笔记 --- 交叉编译X264库出错