2018/08/06 web tomcat http协议

Web:

Web分为:静态的网页;(如:html,数据不会进行刷新或改变)
和动态的网页。(会刷新数据,在出现ajax技术后使用我们的刷新更加灵活,称为局部刷新)(如:jsp=html+java代码,jquert主要是做动画和特效)

C/S架构 :客户端直接与服务器进行通信,我们的客户端需要下载一个C/S软件(比如:QQ客户端)。
弊端:对客户端要求严格,必须下载客户端软件才能通信;不便于后期维护。
优点:没有中间端,传输效率高

client/server 客户端/服务器

B/S系统架构 :就是多了一个中转站,也就是提供一个url进行访问,通过用户的访问不同的url,在服务器拿不同的数据,所有通信的都要经过中转站。
弊端:效率低。
优点:便于后期维护。

常用服务器:apache、 tomcat、 jboss、 weblogic、 websphere

Tomcat sun公司推出的,本身是java编写。 特点:免费、性能稳定、先进

Web项目 中webroot文件夹 代表web网站的根目录。放JSP、cs、gs等一些加载文件
所有web项目的访问,首先都是加载的web.xml文件。 xml记录配置信息,

区别:Html是做页面展示,xml是配置文件。

Tomcat中 bin 存放:脚本文件
Conf 配置文件
Lib jar包
Webapps web文件所在目录,也就是外部访问的web
Logs 日志文件
Temp 临时文件
Work 工作目录

打开conf文件夹,找到sever文件,里面有端口号。
Myeclipece中点开window 菜单,最下面的那个preferences找到webcat 加载tomcat。
然后在Myeclipece界面最下面sever中启动tomcat服务。

然后在浏览器中输入localhost:8080(端口号),就可以连上本地的服务器发布的web项目了。

怎么发布web项目?
右击web项目名,选择run as 然后选择第三个,就启动完成了。
怎么找到项目?
Tomcat 文件目录中webapps文件里都是已经发布的项目。
如何访问项目?
http://localhost:8080/webjsp

localhost(代表本机)
8080(代表Tomcat端口号)
webjsp(web项目名字)

http://localhost:8080/webjsp
是访问到整个项目,在web项目的webroot目录下的web.xml里有一个默认的访问路径(welcome file),访问整个项目时,优先访问的就是那个路径。
如果要访问下一级的项目:
http://localhost:8080/webjsp/项目名

Socket编程:

Socket通信:即时通信(qq,微信) 长连接 特点:不容易被断开(只要你不断开连接,他都会一直连接)

开发理念基于tcp(传输慢,不丢数据,get)和udp(传输快,不稳定,容易丢数据,pose)协议,都是面向连接的协议。

即时通信:socket 协议与xmpp协议(四次握手)。

Socket通信,需要客户端,服务器端,而因为需要连接多个客户端,所以服务器端必须有多个线程。所以还要编写一个线程类。
比如:
clientlogin.java
clientlogin2.java
MyThread.java
severlogin.java

http协议
特点:1.简单 快捷(能够支持各种数据传输(文件,图片,文字))
2.无状态连接
3.一次性连接
4.支持c/s架构,b/s架构
Post 提交,对提交的数据进行加密,拼接的参数在url上不会显示,没有数据限制,安全性比较高,一般都用post;

Get 提交,拼接的参数在url上显示,安全性比较低,适合用在下载 (没有进行加密,传输快)

http请求 : 能直接设置请求头header 灵活设置编码格式,大部分网站都会使用http请求

https请求:https = http+ssl证书,这个证书保证了请求的安全性,这个证书是需要买的。

socket 客户端、服务器、线程类代码如下:

客户端:

package socket123;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class kehuduansocket1 {
public static void main(String[] args) {
try {
Socket socket = new Socket(“localhost”, 9191);

        InputStream inputStream = socket.getInputStream();
        OutputStream outputStream = socket.getOutputStream();

        String str = "我是客户端1";
        outputStream.write(str.getBytes());
        socket.shutdownOutput();





        BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(inputStream));
        String line= null;
        if((line=bufferedReader.readLine())!=null){

            System.out.println(line);
        }
        outputStream.close();
        inputStream.close();
        socket.close();
    } catch (UnknownHostException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


}

}

服务器:
package socket123;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class fuwuqisocket {

public static void main(String[] args) {
    try {
        ServerSocket severSocket= new ServerSocket(9191);
        while(true){
            MyThread myThread= new MyThread(severSocket);
        myThread.start();
        }


    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


}

}

线程:
package socket123;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class MyThread extends Thread{
private ServerSocket severSocket;

public MyThread(ServerSocket severSocket) {

    this.severSocket = severSocket;
}



public void run() {
    try {
        Socket socket = severSocket.accept();
        InputStream inputStream = socket.getInputStream();
        OutputStream outputStream = socket.getOutputStream();
        BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(inputStream));

String str= null;
if((str=bufferedReader.readLine() )!= null){

            System.out.println(str);
        }

        String line = "服务器收到信息了";
        outputStream.write(line.getBytes());
        outputStream.close();
        inputStream.close();
        socket.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值