CS/BS模式

这里写图片描述

介绍

随着PC机的诞生与应用,计算模式从集中式(数据和应用程序在一台主机上)转向了分布式(数据和应用程序跨越多个节点机),尤为典型的是C/S结构(Client/Server的简称,客户机/服务器模式)。两层结构C/S模式,在上个世纪八十年代及九十年代初得到了大量应用,最直接的原因是可视化开发工具的推广。之后,它开始向三层结构发展。近来,随着网络技术不断发展,尤其是基于Web的信息发布和检索技术、Java计算技术以及网络分布式对象技术的飞速发展,导致了很多应用系统的体系结构从C/S结构向更加灵活的多级分 布结构演变,使得软件系统的网络体系结构跨入一个新阶段,即B/S体系结构(Browser/Server的简称,浏览器/服务器模式)。基于Web的B/S方式其实也是一种客户机/服务器方式,只不过它的客户端是浏览器。为了区别于传统的C/S模式,才特意将其称为B/S(浏览器/服务器)模式。

结合今天知识点

Client

以下几个方法,相当于客户端,在做界面时用到了类 JFrame了解请点击!
界面的文本输入,按钮等都可以在这里面实现。
1、doGet
直接连接在url后面是显示的
GET 调用用于获取服务器信息,并将其做为响应返回给客户端。当经由Web浏览器或通过HTML、JSP直接访问Servlet的URL时,一般用GET调用。 GET调用在URL里显示正传送给SERVLET的数据,这在系统的安全方面可能带来一些问题,比如用户登录,表单里的用户名和密码需要发送到服务器端, 若使用Get调用,就会在浏览器的URL中显示用户名和密码。

测试方法代码:
public class DoGet extends JFrame {
   

    private JPanel contentPane;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    DoGet frame = new DoGet();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public DoGet() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 350, 320);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JButton btnDoget = new JButton("doGet方法测试");
        btnDoget.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                String urlString = "http://localhost:8080/MyServiceTest/MyTest?username=李三&password=11114";
            //直接跟在url后是doGet方法
                try {
                    URL url = new URL(urlString);//生成URL
                    URLConnection connect = url.openConnection();//打开url连接
                    HttpURLConnection httpConnection = (HttpURLConnection) connect;//HttpUrlConnection 是sun封装成的网络连接
                    httpConnection.setRequestMethod("GET");//设置请求方法
                    httpConnection.setConnectTimeout(3000);//设置连接超时的时间
                    httpConnection.setReadTimeout(3000);//读取时间超时
                    // 设置编码方式,接受的数据类型
                    httpConnection.setRequestProperty("Accept-Charset", "utf-8");//使用utf-8编码格式将字节数组转化成字符串
                    // 设置可以接受序列化的java对象
                    httpConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                    int code = httpConnection.getResponseCode();//得到状态码
                    System.out.println(code);
                    if(code==HttpURLConnection.HTTP_OK){
  //网络连接状态成功,那么下面读数据
                        InputStream is = httpConnection.getInputStream();
                        BufferedReader br = new BufferedReader(new InputStreamReader(is));
                        String line = br.readLine();
                        while(line!=null){
                            System.out.println(line);
                            line = br.readLine();
                        }
                    }
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                catch (SocketTimeoutException e) {
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值