使用Java+NetBeans设计web服务和页面,用Tomcat部署网页
一 安装NetBeans(自动安装jdk)
- 进入oracle的下载界面:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
图 javaDownload.png
- 选择右侧那个NetBeans with JDK 8,下载安装,一路绿灯,在这个过程中已经顺带安装好了Java(jdk1.8.0_171),但是当打开NetBeans IDE的时候,会发现无法创建Java web的项目,因此需要继续安装NetBeans。
- 下载另一个版本的NetBeans,选择包含“Java EE”功能的Java EE或ALL。
https://netbeans.org/downloads/
图 NetBeansDownload.png
- 然后安装呗,一开始有一个额外安装的东西,是两个类似容器的东西,以后你的主机作为服务器发布服务时会用到,一个叫GlassFish Server,另一个是Apache Tomcat,全都勾上。最后注意安装目录和第二步安装的那个IDE的位置要一样
配置Java环境变量
变量名 地址 JAVA_HOME JDK所在目录 CLASSPATH %JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar Path %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin - NetBeans+Java安装完毕。
补充一下GlassFish和Tomcat的区别(来自知乎用户:chainho)
两者本质上不是一类型的东西。Tomcat是Servlet容器,GlassFish是JEE容器。JEE容器必然是包含Servlet容器这一部分功能的。ps:以前版本的GlassFish,其内部的Servlet容器实现就是直接采用的Tomcat。当然,JEE容器提供了更多的功能,同时也有方便的管理控制台可以在界面上进行各种配置和应用部署等,比Tomcat的Manager应用要功能丰富的多。
作者:chainho
链接:https://www.zhihu.com/question/20039000/answer/102719430
来源:知乎
二 创建服务器
- 创建Java web项目,选择Web应用程序
图 选择web应用程序
- 选择GlassFish服务器,版本什么的默认就好了
图 选择服务器
一路next之后就创建好了一个项目啦,项目内容差不多就如下这几个
图 项目内容
这时候这个index.html就是主界面的源码,然后你可以在左侧右键项目名称添加服务、页面等
图 项目添加内容
在添加内容中,可以添加html页面,也可以添加服务,服务就不添加了,添加服务看后续教程,直接使用默认的index.html举例。
图 index.html
- 至此服务器创建完毕
三 发布服务
- 构建.war包。当你添加完index.html页面或者其他页面或者服务之后,想给发布出去,怎么办呢?右键项目,点击“清理并构建”
图 清理并构建
图 构建成功
然后在项目保存的位置中就多了一个dist文件夹,文件夹里有一个.war文件,这是一个类似于压缩包的东西,在服务器部署(发布)的时候用的到。
图 .war
有了这个包之后,NetBeans的使命就结束了,关了它!(不然会和Tomcat冲突) 配置Tomcat。由于是简单的java web服务,不需要使用在线或远程管理功能,我们使用较为方便的Tomcat来部署服务器,首先测试Tomcat的可用性:
- 在Tomcat安装目录下的bin文件夹中打开startup.bat
图 startup.bat
- 好吧一般情况下打不开的,这时候打开cmd,把startup.bat拖进去,打开:
图 startup.bat报错
啥意思?CATALINA_HOME环境变量没有正确定义?看来它需要点东西 - 把cmd关了,打开环境变量,在系统变量添加CATALINA_HOME,路径就放上Tomcat的安装目录,就是上面说到的bin文件夹的上一级(包含bin的那个文件夹),注意不要有分号
- 这时候就懒得打开cmd了,直接双击startup.bat,然后它就运行了
图 Tomcat运行
这时候你的服务器就算是配置好了。随便打开一个浏览器测试一下,输入http://localhost:8080,看看效果
图 服务器打开成功
看到这个页面就算成功了
- 在Tomcat安装目录下的bin文件夹中打开startup.bat
保持服务器开着的状态,然后把第一步得到的.war文件拖(copy)到Tomcat安装目录(没错就是上面那个环境变量的地址)中的webapps文件夹里
图 webapps
刚进去是这样的:
图 拖进去
然后因为服务器开着,过一会儿就自己创建了一个同名的文件夹:
图 创建了文件夹
这时候在http://localhost:8080后面加上/文件夹名,就可以看到index.html页面的内容了,这时候算是部署成功了。
图 加上文件夹名
那别人要怎么访问呢??他们只要将localhost换成你电脑的ipv4地址就行了,用cmd里的ipconfig命令获取该地址。(不过由于是本地服务器,只局限于局域网访问该服务器,并且Tomcat必须保持打开的状态,否则无法访问)
图 IPv4访问
使用Java+NetBeans设计web服务和页面,用Tomcat部署网页的更多相关文章
- java基础76 web服务器之Tomcat服务器
(注:本文是以“压缩版Tomcat”为例,展开描述的) 一.Tomcat服务器的介绍 1.服务器 1.1.服务器的种类 从物理上讲:服务器就是一台pc机器.至少8核/8G以上.内存至少用T来计算.宽带 ...
- Java课程设计---web版斗地主
一. 团队课程设计博客链接 二.个人负责模块和任务说明 负责前后端数据传输 JSP界面的设计 根据后台传来的数据进行页面动态更新 负责Servlet设计 三.自己的代码提交记录截图 四.自己负责模块或 ...
- Java和Tomcat的关系 Java如何发布web服务
https://blog.csdn.net/qq_31301961/article/details/80732669 除了Tomcat还有WebLogic 大型分布式的 如何部署映射 Tomcat使用 ...
- web项目脱离Eclipse在Tomcat部署并配置Eclipse调试
简单来说,把WEB项目打成war包后放到webapps目录下启动tomcat便部署成功了,但是因为与Eclipse没有关联,故而无法Debug调试代码.这时在Tomcat的catalina.sh脚本里 ...
- 应用AXIS开始Web服务之旅(soap web services)——使用三种不同的语言访问创建的Web服务,分别是JAVA、VB、VC
一. 介绍 本文并不是想介绍Web服务的原理.系统架构等,我们假设您已经了解了关于Web服务的一些基本的概念.原理等知识.本文主要是针对那些已经了解Web服务概念,但是还没有亲身体会Web服务所带来令 ...
- 基于 REST 的 Web 服务:基础
代表性状态传输(Representational State Transfer,REST)在 Web 领域已经得到了广泛的接受,是基于 SOAP 和 Web 服务描述语言(Web Services D ...
- Web服务(Apache、Nginx、Tomcat、Jetty)与应用(LAMP、CMS-WordPress&Ghost、Jenkins、Gitlab)
Web服务和应用是目前信息技术领域的热门技术.如何使用Docker来运行常见的Web服务器(包括Apache.Nginx.Tomcat等),以及一些常用应用(LAMP.CMS等).包括具体的镜像构建方 ...
- Docker实战(八)之Web服务与应用
1.Apache 官方提供了名为httpd的Apache镜像,可以作为基础web服务镜像 Dockerfile(安装apache2) FROM httpd:2.4 COPY ./public-html ...
- Webservices-1.web服务定义简介
一.WEB服务定义(摘自维基百科)详情:http://zh.wikipedia.org/wiki/Web%E6%9C%8D%E5%8A%A1 Web服务是一种服务导向架构的技术,通过标准的Web协议提 ...
随机推荐
- mybatis(四)缓存机制
转载:https://www.cnblogs.com/wuzhenzhao/p/11103043.html 缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力.跟Hibe ...
- Vue 3 In Action
Vue 3 In Action $ yarn add vue https://v3.vuejs.org demos refs https://v3.vuejs.org/guide/migration/ ...
- koa-router all in one
koa-router all in one holy shit , WTF, which is the true koa-router! MMP, 哪一个是正确的呀,fuck 找半天都晕了! koa- ...
- ruby & rvm
ruby & rvm https://rvm.io/ Ruby Version Manager (RVM) RVM is a command-line tool which allows yo ...
- javascript IIFE in depth
javascript IIFE in depth function type 函数表达式 x = function (){ console.log(x); } ƒ (){ console.log(x) ...
- 封装 React Native 原生组件(iOS / Android)
封装 React Native 原生组件(iOS / Android) 在 React Native中,有很多种丰富的组件了,例如 ScrollView.FlatList.SectionList.Bu ...
- webpack defineConstants
webpack defineConstants PAGES 全局常量/全局变量 https://webpack.js.org/plugins/define-plugin/ taro https://n ...
- js IdleDetector 检测用户是否处于活动状态API
btn.addEventListener("click", async () => { try { const state = await Notification.requ ...
- React Native选择器组件-react-native-slidepicker
react-native-slidepicker 一个纯 JavaScript 实现的的 React Native 组件,用于如地址,时间等分类数据选择的场景. github: https://git ...
- 关于各种Formatting context
Formatting context 我们把网页看作是由很多个盒子组成的,而这些盒子的展示方式,就是由display这个属性来决定的. 这里出现了一个概念,叫做Formatting context(格 ...