如何在自己的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,然后本地访问测试一下:
1 <%@ page language="java" contentType="textml; charset=UTF-8" 2 pageEncoding="UTF-8" 3 errorPage="two.jsp"%> 4 5 <%@ page import="java.util.*" %> 6 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 7 8 <html> 9 <head> 10 <meta http-equiv="Content-Type" content="textml; charset=UTF-8"> 11 <title>登入界面</title> 12 </head> 13 <body> 14 <h1>Hello world! My Name is 何杨!</h1> 15 <br> 16 <h2>很抱歉,目前网站里只放了这么简单的内容,只是做做测试用的,以后会展示精彩的东西给大家看。</h2> 17 <% 18 out.print("<br/>"); 19 String name = request.getParameter("userName"); 20 String pass = request.getParameter("passWord"); 21 out.print(name); 22 out.print("<br/>"); 23 out.print(pass); 24 out.print("<br/>"); 25 26 %> 27 <hr> 28 <h1>九九乘法表</h1> 29 <hr> 30 <%! 31 String print1() 32 { 33 String s = ""; 34 for(int i = 1;i<=9;i++){ 35 for(int j = 1;j<=i;j++) 36 { 37 s+=i+"*"+j+"="+i*j+" "; 38 } 39 s+="<br>"; 40 } 41 return s; 42 } 43 //JSP内置out对象,使用脚本方式调用,打印九九乘法表,还要抛出异常 44 void print2(JspWriter out) throws Exception 45 { 46 String s = ""; 47 for(int i = 1;i<=9;i++){ 48 for(int j = 1;j<=i;j++) 49 { 50 s=i+"*"+j+"="+i*j+" "; 51 out.print(s); 52 } 53 out.print("<br/>"); 54 } 55 } 56 %> 57 <%=print1() %> 58 <br> 59 <img src="1.jpg"> 60 <br> 61 <% print2(out); %> 62 </body> 63 <ml>
这个算是最最简单的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端口。