• Tomcat介绍及配置



    web服务器的作用:


    当接收的请求是动态请求,则会将请求给web容器拼凑生成代码,返回web服务器。

    一般在平时说的“买服务器”是指一台专门用于安装Web服务器的计算机,web服务器只是一个软件而已。


    WEB服务器介绍:

    1.WebLogic    商业收费
    2.WebShpere     商业收费
    3.Tomcat    免费
    4.JBoss    免费

    商业收费的意思是如果用于商业,则收费;如果学习之用,则免费;


    实现最简单的Web服务器


    Server.java
    import java.io.*;
    import java.net.*;
    public class Server{
    	public static void main(String args[])throws Exception{
    		ServerSocket server = new ServerSocket(8887);
    		Socket socket = server.accept();
    		PrintStream out = new PrintStream(socket.getOutputStream(),true);
    		BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(new File("1.html"))));
    		String line = null;
    		while((line=in.readLine())!=null){
    			out.println(line);
    			System.out.println(line);
    		}
    		socket.close();
    		server.close();
    	}
    
    }

    以上程序类似于一个Web服务器,在浏览器中输入 http://localhost:8887,则在浏览器中会显示 1.html中的内容;


    tomcat介绍: 

     

     


    WEB服务器&WEB容器

     

    web服务器只能完成静态资源的请求;

    web容器能够进行动态资源的请求;


     

    tomcat就是一个最简单的web容器,是apache的jarkata项目的子项目。

    Tomcat支持JSP、Servlet,而不支持J2EE的全部规范。

    tomcat 7.0.X支持Servlet 3.0规范,因此建议使用7.0.X; 

    下载地址: http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.6/bin/ 即可下载7.0.6版;


    tomcat 文档 下载地址: http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.6/bin/ 



    tomcat有两种版本:

    (1)二进制版本:解压后需要配置环境变量,建议使用此版本。

    (2)服务版本:可执行文件,安装好后会在系统中注册服务.

    tomcat目录介绍: 

    tomcat有几个文件夹:

    (1)bin:存放可执行命令,比如开启和关闭tomcat:startup.bat;

    (2)conf:配置文件。

    (3)webapps:发布web应用。

    (4)lib:库文件,可以通过此目录扩展,比如放置数据库驱动在此文件中。

    (5)work:临时的java或class文件。

     

    Tomcat基本配置


    注意:Tomcat不要放在中文目录或带有空格的目录中;


    一、配置环境变量


    1.配置 JAVA_HOME :C:\Java\jdk1.6.0_27

    2.配置 CATALINA_HOME:C:\apache-tomcat-7.0.6   (这个环境变量可以不配)

    这里以我的配置为例,根据自己的安装位置调整;

    catalina_home配置了以后,当出现如图情况:


     

    当点击C:\tomcat\bin\startup.bat后 启动的是D:\tomcat


     

    二、配置端口

     

    商业中一般端口为80,因为http端口为80;比如 http://csdn.net/ 而不会 http://csdn.net:8080

    默认为8080,可以在tomcat/conf/server.xml中的第68行附近配置.

        <Connector port="8888" protocol="HTTP/1.1"     //此处可以把8888换成任意端口.
                   connectionTimeout="20000" 
                   redirectPort="8443" />

     

    配置完这些后已经可以使用tomcat了,在浏览器中输入 http://localhost:8888 后弹出如下页面:

     

    端口被占用问题:

    如果有其他软件占用了此端口,则会导致tomcat不能启动;

    解决方案:

    用FPort等软件查看端口使用情况,然后 kill 此进程即可;

     

    三、配置用户角色

     

    为了在页面中管理部署web应用,必须要有用户,因此需要配置新用户和密码(原本无用户)。

    在tomcat/conf/tomcat-users.xml中的<tomcat-users></tomcat-users>中添加如下语句:

    <role rolename="manager-gui"/>
    <user username="admin" password="12345" roles="manager-gui"/> //用户名为admin,密码为12345

    JAAS:Java Authentication Authorization Service 即Java验证授权服务

    如图可以利用前面设定的用户名和密码登陆:

     


    四、配置部署web应用路径


    1.可以在webapps目录中进行部署,即直接将整个web应用复制到webapps下。

    2.可以在conf/catalina/localhost目录中创建一个test.xml,在此文件中添加:

    <?xml version="1.0" encoding="GBK"?>
    <Context docBase="F:/publish" debug="0" privileged="true">   //docBase是路径,可以自己调整
    </Context>

    这样可以输入 http://localhost:8080/test 访问,注意这个test就是xml文件的名字。

    比如xml文件的名字为x.xml,则输入 http://localhost:8888/x


    还需要在F:\publish,也就是web应用的目录新建一个WEB-INF文件夹,在此文件夹中新建一个web.xml,为了偷懒,可以把tomcat/webapps/WEB-INF/web.xml 的文件黏贴到F:\publish\WEB-INF中.


    3.可以在网页中部署,如图所示:


    可以通过war包或者一个路径部署,war包可以从Eclipse中导出。

     


    常见注意点:

    1.设置端口号:在conf/server.xml中修改。

    2.配置虚拟目录:在conf/server.xml中最后添加<Context path = "...." docBase = "..."/>,

    比如    <Context path = "/test" docBase = "D:\test"/>,则浏览器中输入http://localhost:8080/test则可以运行D:\test的内容。

    注:在配置完后还要在conf/web.xml中

    <param-name>listings</param-name>

    <param-value>false</param-value>改成true

    3.配置默认首页:在conf/web.xml中最后

    <welcome-file>index.html</welcome-file>

    说明默认为index.html,因此如果输入http://localhost:8080/test则会自动调用index.html.

    4.每个web应用中都需要WEB-INF和web.xml文件,最简单的办法就是去tomcat主目录下的webapps/ROOT/的WEB-INF拷贝到你所需要的web应用文件夹下。

    5.第一次用户请求某个JSP会比较慢。

    原因:JSP首先会转换成JAVA文件,然后再编译成class文件,最后才执行,这些java和class的文件都在tomcat主目录的work文件夹下。

     

    HTTP常见状态:

    (1)404错误:客户路径不正确造成。

    (2)500错误:服务器内部错误。

    因此总的来说:

    (1)2##:请求成功。

    (2)4##:客户端错误。

    (3)5##:服务器错误。

     

    JSP文件简介:HTML+JAVA代码。

    <%。。。%>中嵌入java代码。

    在html中<form>的action属性可以设置服务器处理请求的jsp文件,例如:

    <form action = "hello.jsp" method = "post">

     

    接下来是一个最简单的应用tomcat的程序,用户输入任意字符串比如world,服务器返回hello加上字符串,比如hello,world.

    <html>
    	<head>
    		<title>Demo</title>
    	</head>
    	<body>
    		输入内容:
    		<form action = "input.jsp" method = "post">
    			<input type = "text" name = "info"/>
    			<input type = "submit" value = "显示"/>
    		</form>
    	</body>
    </html>

    jsp文件:
    <html>
    	<head>
    		<title>Demo</title>
    	</head>
    	<body>
    		<%
    			String str = request.getParameter("info");
    			str = "Hello,"+str;
    			out.println("<h1>"+str+"</h1>");
    		%>
    	</body>
    </html>


    web应用目录布局建议:

    主目录
    	|
    	|-WEB-INF
    	|	|-    web.xml
    	|	|-    classes
    	|	|	|-放置class文件
    	|	|-     lib
    	|	|	|-放置第三方jar包
    	|	|-     src
    	|	|	|-存放源文件
    	|-存放jsp、html
    	|
    	|-image
    	|	|-存放图片







    作者:xiazdong
    出处:http://blog.xiazdong.info
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    192021
    191020
    magento注册
    magento登陆
    把PHP的数组变成带单引号的字符串
    magento直接操作数据库
    兼容各大浏览器的event获取
    手动修改magento域名
    微信支付中的jsapi返回提示信息
    CentOS 下安装xdebug
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058367.html
Copyright © 2020-2023  润新知