[置顶] Unity3d搭建HTTP弱联网的服务器搭建及客户端编写(一)之java服务器
2017-05-07 00:31
375 查看
HTTP弱联网java服务器
HTTP弱联网java服务器通过tomcat搭建java服务器linux
1java环境搭建
2tomcat环境搭建
3服务器搭建
下一篇php服务器
通过tomcat搭建java服务器(linux
1、java环境搭建
java环境较容易搭建,在网上很容易找到相关的教程。2、tomcat环境搭建
参考自百度经验的http://jingyan.baidu.com/article/e4d08ffdabb0710fd2f60de9.html
下面即是tomcat环境搭建的方法:
官方网站下载最新的tomcat:http://tomcat.apache.org/download-80.cgi 在ubuntu上,我们下载zip和tar.gz。
解压tomcat 8,用下面的命令(我下载的是tar.gz格式的):
tar -zxvf apache-tomcat-8.0.12.tar.gz
开始配置tomcat:
复制解压后的文件到 /opt 目录
sudo cp -r apache-tomcat-8.0.12 /opt
进入 /opt/apache-tomcat-8.0.12 目录
cd /opt/apache-tomcat-8.0.12
打开启动的脚本文件
sudo vi ./bin/startup.sh(不熟悉vi的,可以用gedit打开:sudo gedit./bin/startup.sh)
拓展:vi编辑器在linux的版本中几乎都有,但是gedit不一定有,如果需要,就得自己安装:
sudo apt-get install gedit
打开startup.sh文件后,添加jdk和jre:
JAVA_HOME=/usr/java/jdk1.8.0_20 JRE_HOME=$JAVA_HOME/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar TOMCAT_HOME=/opt/apache-tomcat-8.0.12
JAVA_HOME和JRE_HOME 是已经配置好 JDK和JRE 目录
TOMCAT_HOME 为当前 apache-tomcat-8.0.12 目录
ps:注意,在安装tomcat之前先要安装jdk和jre,我安装的是jdk1.8.0_20的java版本。
启动tomcat: sudo ./bin/startup.sh
验证tomcat配置和安装是否成功:在浏览器中输入:http://localhost:8080/
关闭tomcat:sudo ./bin/shutdown.sh
3、服务器搭建
首先服务器一般有post和get两个方法。分别是服务器处理客户端发来的信息和客户端申请服务器的相关信息。这里我通过javaWeb的servlet来完成http的服务器
@WebServlet(“/myServlet”)
servlet可以直接通过@WebServlet标签配置URL映射。
doGet方法和doPost方法分别即是服务器的post和get方法
当客户端通过WWW方法传送数据过来后,即调用doPost方法进行处理完成相关服务器的逻辑
request.setCharacterEncoding(“utf-8”)
response.setCharacterEncoding(“utf-8”)
设置request和response的字体格式为utf-8
request.getParameter(“model”)
request.getParameter(“文本”),这里文本即是Unity3d中WWW中getForm.AddField(“文本”, “数据”);的文本,通过该方法即可得到对应文本中的数据信息
PrintWriter out = response.getWriter();
out.print(“文本”);
通过response.getWriter();方法可以得到服务器返回给客户端的输出流,out.print(“文本”);中的文本即是你将会返回给客户端的相关信息,之后你可以在客户端再对得到的信息进行相关的处理。
以下的代码是我这次试验中用到的,主要是返回在该项目中的一个txt文件中的相关信息。XML、json同理。java服务器篇就到此为止了,下一篇会是php的服务器教程。
package com; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; i ac32 mport java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class myServlet */ @WebServlet("/myServlet") public class myServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public myServlet() { super(); // TODO Auto-generated constructor stub } /** * @see Servlet#init(ServletConfig) */ public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub super.init(config); } /** * @see Servlet#destroy() */ public void destroy() { // TODO Auto-generated method stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("doget"); getInfo(request.getRealPath("/"), response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); System.out.println(request.getParameter("model")); if (request.getParameter("model").equals("Get")) { doGet(request, response); } else { System.out.println("dopost"); PrintWriter out = response.getWriter(); saveInfo(request.getRealPath("/"), request); if (myBean.isAchievement()) { out.print("true"); } else { out.print("false"); } } } private void getInfo(String filePath, HttpServletResponse response) { filePath += "haha.txt"; System.out.println(filePath); try { String encoding = "utf-8"; File file = new File(filePath); if (file.isFile() && file.exists()) { // 判断文件是否存在 InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);// 考虑到编码格式 BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; PrintWriter out = response.getWriter(); while ((lineTxt = bufferedReader.readLine()) != null) { out.println(lineTxt); } bufferedReader.close(); read.close(); } else { System.out.println(filePath); System.out.println("找不到指定的文件"); } } catch (Exception e) { System.out.println("读取文件内容出错"); e.printStackTrace(); } } private void saveInfo(String filePath, HttpServletRequest request) { filePath += "haha.txt"; try { String encoding = "utf-8"; File file = new File(filePath); if (file.isFile() && file.exists()) { // 判断文件是否存在 OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file, true), encoding); BufferedWriter bufferedWriter = new BufferedWriter(writer); System.out.println("append"); bufferedWriter.append(request.getParameter("text")); bufferedWriter.close(); writer.close(); myBean.setAchievement(true); } else { System.out.println(filePath); System.out.println("找不到指定的文件"); } } catch (Exception e) { System.out.println("读取文件内容出错"); e.printStackTrace(); } } }
下一篇php服务器
相关文章推荐
- Unity3d搭建HTTP弱联网的服务器搭建及客户端编写(二)之php服务器
- Java客户端通过HttpURLConnection连接Web服务器的Session保存问题
- java程序员菜鸟进阶(九)windows下搭建SVN服务器及配置myeclipse SVN客户端
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- Java编写Telnet客户端,连接到Windows的Telnet服务器,执行命令和批处理脚本
- Java客户端通过Http发送POST请求上传文件到web服务器
- Java客户端通过HttpURLConnection连接Web服务器的Session保存问题
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- java客户端运用http向服务器批量传输文件
- java客户端仿http传送文件到php服务器
- JAVA编写的一个简单的Socket实现的HTTP响应服务器
- java程序员菜鸟进阶(九)windows下搭建SVN服务器及配置myeclipse SVN客户端
- j2me http联网客户端编写之二
- j2me http联网客户端的编写之一
- 智能点餐系统开发纪实1-----java服务器搭建,android客户端实现通信
- Java客户端通过Http发送POST请求上传文件到web服务器
- java程序员菜鸟进阶(九)windows下搭建SVN服务器及配置myeclipse SVN客户端
- java程序员菜鸟进阶(九)windows下搭建SVN服务器及配置myeclipse SVN客户端
- Android中FTP服务器搭建、客户端编写
- Unity3d客户端保存cookie与java服务器通信