如何在自己的Windows系统上 架设服务器并开发网站,然后连入外网供外界访问?(JDK+Tomcat+花生壳)
<目前百度谷歌上都木有我这么完整的笔记,虽然各个部分都是来自百度的,然后自己实践,自己做截图笔记,嘻嘻 Made By HeYang>
环境:Windows 7
工具:JDK,Apache tomcat,花生壳 客户端
网站建设技术:JSP
<建议:之后需要用的JSP的开发工具Eclipse都不要建立在中文路径下>
1、首先下载然后安装JDK,安装JDK的方法,包括配置环境变量,百度搜索就会有,这是学习Java的基础,以及简单利用终端测试安装是否成功,此处就不多累述。
2、下载然后安装Apache tomcat服务器,下载网址是:http://tomcat.apache.org/,随便哪个版本的tomcat都可以,一般最好是最新版本的。然后直接解压这个服务器就安装好了。
个人喜好放在JDK安装的目录同一目录下面,如果之后使用了Eclipse For JavaEE(不是普通的Eclipse哦,是专门用来开发JavaWeb的Eclipse)这个IDE的话,最好是不能随便移动这些文件的,包括JDK的目录,因为Eclipse是会默认配置这些文件的所在路径的,或者在安装这个IDE是要首次配置这个文件所在固定好的目录的:
接下来测试apache-tomcat是否有用,如果没有用,往往很可能是JDK环境变量配置错误。
进入apache-tomcat-8.0.24\bin文件夹下,其中双击startup.bat就能启动apache-tomcat服务器,同样双击 shutdown.bat就能关闭apache-tomcat服务器。
一般启动成功的状态是这样的,不是这样的往往就是前面JDK环境变量配置错误,请重新配置,这个基于JDK运行的窗口是不能直接关闭的,如果直接关闭,同时也就关闭了服务器,或者说要想方便的关闭服务器,直接关闭这个窗口也是可以的:
然后本地测试这个服务器,只要在本地浏览器输入:http://localhost:8080 显示下面网页就说明 tomcat服务器架设完毕:
3、建立简单的网页,在apache-tomcat-8.0.24\webapps文件夹下添加文件夹HeYang(文件夹名字随便取),然后在apache-tomcat-8.0.24\webapps\HeYang这个文件夹下面添加记事本和一个测试用的图片1.jpg(随便你什么图片,便于测试名字改为1.jpg),记事本的内容为下面的jsp代码,然后记事本文件名包括后缀全部要改为index.jsp,然后本地访问测试一下:
<%@ page language="java" contentType="textml; charset=UTF-8"
pageEncoding="UTF-8"
errorPage="two.jsp"%> <%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>
<head>
<meta http-equiv="Content-Type" content="textml; charset=UTF-8">
<title>登入界面</title>
</head>
<body>
<h1>Hello world! My Name is 何杨!</h1>
<br>
<h2>很抱歉,目前网站里只放了这么简单的内容,只是做做测试用的,以后会展示精彩的东西给大家看。</h2>
<%
out.print("<br/>");
String name = request.getParameter("userName");
String pass = request.getParameter("passWord");
out.print(name);
out.print("<br/>");
out.print(pass);
out.print("<br/>"); %>
<hr>
<h1>九九乘法表</h1>
<hr>
<%!
String print1()
{
String s = "";
for(int i = 1;i<=9;i++){
for(int j = 1;j<=i;j++)
{
s+=i+"*"+j+"="+i*j+" ";
}
s+="<br>";
}
return s;
}
//JSP内置out对象,使用脚本方式调用,打印九九乘法表,还要抛出异常
void print2(JspWriter out) throws Exception
{
String s = "";
for(int i = 1;i<=9;i++){
for(int j = 1;j<=i;j++)
{
s=i+"*"+j+"="+i*j+" ";
out.print(s);
}
out.print("<br/>");
}
}
%>
<%=print1() %>
<br>
<img src="1.jpg">
<br>
<% print2(out); %>
</body>
<ml>
index.jsp
这个算是最最简单的jsp网站了,只有一个jsp网页数据,然后带一个用于显示的图片资源1.jpg,然后在本地浏览器输入地址:http://localhost:8080/HeYang/index.jsp(服务器打开了,这个网址才有用),就会出现下面:
到这里,tomcat轻量级服务器和JSP网站环境架设完毕,这些足以够继续学习JavaWeb用的了,另外可以搭配Eclipse For JavaEE集成开发环境来深入学习Javaweb。
4、连入外网,让大家都能够访问刚刚建设的服务器里的网站网页数据,甚至手机客户端在任意地点也能够访问。
接下来个人啰嗦一下计算机网络的基本常识,这个我自己理解的常识,可能不正确还望高手指教:内网和外网,通常在内网中不同的计算机进行通信一般情况下简单的说来算是局域网,只要在局域网通过需要访问的计算机的本地IP地址就能访问这个计算机,如果是从外网,比如说,要通过手机客户端(手机联网的方式就可能是wifi也可能是4G网络)来访问计算机,就需要知道这个计算机的网络外网IP地址,就比如我现在的电脑联网的方式是室内wifi路由器,这个路由器是链接到外网IP地址的,同时这个外网IP地址还要映射到我这个计算机本地IP地址,然后将申请的域名网址指向这个映射好我这台笔记本的IP地址的外网的IP地址(域名网址好比:http://www.baidu.com,而我的域名网站是:http://heyang234.imwork.net ),由于网络环境的复杂,外网的IP地址常常是多变的。每一次链接都需要重新获取外网的IP地址,就特别的麻烦,所以就需要动态域名。
这里需要用第三方工具:花生壳,网址是:http://www.oray.com/ 需要注册,申请获取免费的域名,然后下载 花生壳 客户端(花生壳官网提供了内网版和外网版,我用的是内网版提供了内网和外网服务的,外网版没试用所以不是很清楚使用细节),目前只提供Windows和Linux版本的,没有Mac版本的,真可惜,我架设不来Mac可以被外网访问的服务器。
我这里就用Windows的花生壳客户端了,通过前面注册的账号和密码就能登入这个客户端。
然后是打开映射功能,这个功能可能会提示你申请开通,会需要支付一元服务费,支付开通后,就是永久免费使用的。
映射需要经过多次,可能一开始几次是会失败的。
接下来要把tomcat配置文件稍微修改一下,就能使得外网通过这个申请的域名访问我的JSP网址,打开apache-tomcat-8.0.24\conf\server.xml(用记事本打开也可以,但是我用的是Sublime Text编辑器,视觉上比单调的记事本好看多了),然后找到Connector port="8080",改为下面图片改后的80,还有就是比较新版本的可能没有这行配置代码:
<Context path="" docBase="HeYang" reloadable="true" />,
将这段代码复制到里面去就可以了,但是注意docBase="HeYang",就会使得域名地址访问的是HeYang文件目录下的网站,所以自己设定网站目录同时也要自己设定这个docBase="HeYang",最后保存即可:
然后测试一下,用你的手机输入网址或者让离你很远的朋友通过手机或者电脑打开这个网址链接:http://heyang234.imwork.net/HeYang。如果出现上面的网页,就说明你的服务器外网建立连接成功。
1、为了下来的工作中不出现什么问题,我并没有将8080端口改成80,据说80端口被电信封掉了,我让用电信上网的同学访问我的网站,果然不行,这里我们明白道理就可以了,只是学习测试之用,所以我们就用8080端口。
如何在自己的Windows系统上 架设服务器并开发网站,然后连入外网供外界访问?(JDK+Tomcat+花生壳)的更多相关文章
- php项目,别人无法访问自己(windows 系统)上Apache服务器原因(转载)
别人无法访问自己电脑上的Apache服务器,其中最大的原因是因为Windows防火墙的因素. 1.有安装防火墙的,把防火墙关闭 2.windows默认带防火墙的,进入 控制面板-系统和安全-Windo ...
- windows系统上安装与使用Android NDK r5 (转)
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- spm完成dmp在windows系统上导入详细过程
--查询dmp字符集 cat spmprd_20151030.dmp ','xxxx')) from dual; spm完成dmp在windows系统上导入详细过程 create tablespace ...
- 快速获取Windows系统上的国家和地区信息
Windows系统上包含了200多个国家和地区的数据,有时候编程需要这些资料.以下代码可以帮助你快速获取这些信息.将Console语句注释掉,可以更快的完成分析. static void Main(s ...
- Windows系统上如何使用SSH
Windows系统上如何使用SSH 传统的网络服务程序如FTP.Telnet等,在网络上一般使用明文传送数据.用户账号和口令信息,容易受到中间人的攻击.用户利用SSH协议后能有效防止DNS及IP欺骗, ...
- 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据
http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...
- Redis进阶实践之三如何在Windows系统上安装安装Redis
一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...
- 非Unicode编码的软件如何在Windows系统上运行
我们常常会遇到这样一种情况:点开某些日文软件(我不会说就是galgame( ╯□╰ ))会出现乱码或者直接无法运行. 出现乱码的原因很简单:编码与译码的方式不一致!!!!!!!!!!! 首先大家需要知 ...
- 在windows系统上使用pip命令安装python的第三方库
在windows系统上使用pip命令安装python的第三方库 通过cmd启动命令行后,直接输入pip命令,有时候命令行会提示我们pip不是一个指令,这个时候我们可以通过python的集成开发环境里面 ...
随机推荐
- CentOS6.5菜鸟之旅:安装输入法(小呀小企鹅)
一.前言 假如在登录系统的时候语言选择了中文,那么是系统会自带ibus的中文输入法.但由于我打算用英文版,于是就被小企鹅输入法(FCITX)折腾了两个晚上. 二.检查系统编码 在bash中输入 loc ...
- .net winform程序下使用firefox作为Web浏览器
在winform程序中,要在程序中展示一个web页面,最常用的就是.net自带的webbrowser,但是大家都知道它是IE,也知道IE是有多么强(er)大(bi).而且微软已经宣布了IE的死亡... ...
- [ASP.NET] 使用 ASP.NET SignalR 添加实时 Web
ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务 ...
- Javascript刷新页面的八种方法
/** * Javascript刷新页面的八种方法 * 说明一下,jQuery没有发现刷新页面的方法. */ 1 history.go(0) 2 location.reload() 3 locatio ...
- ok6410 android driver(7)
This article talk about how to test device driver on JNI. There are two ways to test the device driv ...
- DBSet Class(EF基础系列11)
Method Name Return Type Description Add Added entity type Adds the given entity to the cont ...
- PHPWind 8.7中代码结构与程序执行顺序
pw9在此不谈,他是完全重构的作品,是完全MVC下的体系.当然,其中很多东西在PW8.7下已经可见端倪. 主要代码结构 1. 以现代的观点,PW是多入口应用模式,程序根目录下的文件几乎都是入口: 2. ...
- C语言范例学习03-中
栈和队列 这两者都是重要的数据结构,都是线性结构.它们在日后的软件开发中有着重大作用.后面会有实例讲解. 两者区别和联系,其实总结起来就一句.栈,后进先出:队列,先进先出. 可以将栈与队列的存储空间比 ...
- ssh 客户端远程vi文本文件中文乱码(亲测)
由于是生产环境,且非笔者控制,为了避免影响系统全局,仅对本session有效 export LANG="zh_CN.UTF-8"export LANG="zh_CN.GB ...
- 六个创建模式之简单工厂模式(Simple Factory Pattern)
定义: 定义一个工厂类,它可以根据参数的不同生成对应的类的实例:被创建的类的实例通常有相同的父类.因为该工厂方法尝尝是静态的,所以又被称为静态工厂方法(Static Factory Method) 结 ...