首页 > 技术文章 > 非java web项目启动

erlongxizhu-03 2020-08-25 10:32 原文

首先

说下Java Web项目与Java项目的区别

1.Java Web项目是基于Java EE类的;而Java项目是基于Java应用程序的。

2.Java项目主要面向桌面程序的应用,主要是awt、swing这类的编码,不包括JSP等前台页面的代码,大部分是CS架构的工程和一些jar包;

JavaWeb项目是BS架构的系统,是网页的编码,像Jsp、Servlet、Struts这类的, JavaWeb项目部署到服务器上,任何用户都可以通过浏览器来访问。

3.Java Web项目中的JAVA文件是tomcat服务器来触发的,而java项目是由Main()方法来开始的。

4.JavaWeb项目中的Java文件是tomcat服务器来触发的,脱离了容器如:web服务器Tomcat,jboss就无法启动。而Java项目是由main()方法来开始的,直接依赖JVM就能被编译执行。

 

下面使用main方法测试启动java项目,并使用网页请求接口

package game.gm.test;

import com.alibaba.fastjson.JSONObject;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

import java.io.*;
import java.net.InetSocketAddress;
import java.net.URI;
import java.util.Map;

public class TestApp {

        public static void main(String[] args) throws IOException {
            HttpServer httpServer = HttpServer.create(new InetSocketAddress(8001), 0);
            httpServer.createContext("/test", new TestHandler());
            httpServer.start();
            System.out.println("8001端口已成功启动");
        }

        static class TestHandler implements HttpHandler {

            @Override
            public void handle(HttpExchange httpExchange) throws IOException {
                //返回
                String rtn="调用成功";
                
                httpExchange.sendResponseHeaders(200, 0);
                //获取请求路径
                URI requestURI = httpExchange.getRequestURI();
                System.out.println("请求路径为:"+requestURI);
                //获取请求方法
                String requestMethod = httpExchange.getRequestMethod();
                System.out.println("请求方法为:"+requestMethod);
                //获取请求体
                InputStream requestBody = httpExchange.getRequestBody();
                InputStreamReader inputStreamReader = new InputStreamReader(requestBody);
                BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
                StringBuffer stringBuffer = new StringBuffer();
                String s = "";
                JSONObject jsonObject = new JSONObject();
                while ((s = bufferedReader.readLine()) != null) {
                    stringBuffer.append(s.trim());
                }

                System.out.println(stringBuffer);
                //此处引入谷歌Gson框架将String转为Map方便获取参数
                System.out.println("请求参数为:"+jsonObject.get("cmd"));
                System.out.println("请求参数为:"+jsonObject.get("phone"));
                OutputStream responseBody = httpExchange.getResponseBody();
                responseBody.write(rtn.getBytes("GBK"));//设置gbk页面(http://127.0.0.1:8001/test?cmd=%E6%B5%8B%E8%AF%95&phone=135)显示正常文字:调用成功
                responseBody.close();
            }
        }
}

启动成功:这里是在eclipse启动的

 服务器启动可打成jar包,使用命令启动main方法

请求及参数设置

 

请求结果:

 

 

 

 

 

推荐阅读