您的位置:首页 > 理论基础 > 计算机网络

[置顶] 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服务器

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: