Javaweb学习总结——网站部署(17.09.16)

1.如何让我本机的网页发布在局域网或者inter网?

要将我们的网页和ip地址进行映射,这个过程叫做网站的发布。

有好多java网站发布的方式,比如,一、window电脑自带一个internet管理器(IIS,需要安装组件)可以发布网页。二、也可以使用tomcat、apache。java一般用tomcat+apache一起使用。那么tomcat和apache有什么区别呢?笼统讲,apache是web服务器,tomcat是应用服务器。但是侧重点不同,apache支持静态页,tomcat支持动态的,比如servlet等。apache,Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等),tomcat主要是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器。三、Jboss。

详情可参考(http://blog.csdn.net/longzs/article/details/10959945)。


Javaweb学习总结——网站部署(17.09.16)_第1张图片

2.发布网页的两种方式。

1.将项目一如tomcat中的webapps目录中

2.修改tomcat中的server.xml文件,在'这个主机中增加一个Context即可即可以完成项目发布,之后通过localhost:8080/hello就可以访问该目录


3.tomcat中web.xml重要的配置内容。


Javaweb学习总结——网站部署(17.09.16)_第2张图片

4.WEB_INF的内部文件出于安全考虑对于外面访问不了,得用特定的方式。开发中其实讲所有的文件都放在WEB_INF中(除了默认初始网页)

5.如何在同一个计算机中发布多个网页。

1、先在server.xml 中加一个 Host 设置。

2.再向system32中 hosts 设置中加一个 127.0.0.1  localhost2 。

因为访问一个新的网页,计算机都要加一个host配置。很不切实际。所有需要DNS服务器。用户输入域名,DNS服务器会将域名和IP网页的IP地址匹配。举例,如果需要访问goole可以通过修改hosts 文件配置。

6.tomcat修改为列出目录中所有文件

Javaweb学习总结——网站部署(17.09.16)_第3张图片


遇到的问题

1.为什么自己创的网页在webapps中打不开?


Javaweb学习总结——网站部署(17.09.16)_第4张图片

因为不是这服务中重启。而是在tomcat中的bin的startup.bat中重启,或者命令行重启。

2.tomcat部署文件不想放在webapps下怎么做

补充 tomcat的部署方法主要有以下几种:

一、静态部署

1、直接将web项目文件件拷贝到webapps 目录中

Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war  myweb

webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

将appBase修改即可。

2、在server.xml中指定

在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。

在tomcat中的conf目录中,在server.xml中的,节点中添加:

或者

或者

说明:

path是虚拟路径;

docBase 是应用程序的物理路径;

workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;

debug 则是设定debug level,  0表示提供最少的信息,9表示提供最多的信息

privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet

reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署

antiResourceLocking和antiJARLocking  热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。

3、创建一个Context文件

在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:

tomcat自带例子如下:

privileged="true" antiResourceLocking="false" antiJARLocking="false">

这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。

4、注意:

删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。

二 动态部署

登陆tomcat管理控制台:,输入用户名和密码后便可管理应用并动态发布。

在Context Path(option):中输入/yourwebname ,这代表你的应用的访问地址。

XML Configration file URL中要指定一个xml文件,比如我们在F:\下建立一个hmcx.xml文件,内容如下: 其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。

如果部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。

你可能感兴趣的:(Javaweb学习总结——网站部署(17.09.16))