swing客户端设置(哪些是swing的界面组件)

技术Swing客户端的知识有哪些这篇文章将为大家详细讲解有关Swing客户端的知识有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.简介Jakarta Struts

本文将为大家详细讲解有关Swing客户端的知识,文章内容质量较高,所以边肖将与大家分享以供参考,希望大家看完本文后对相关知识有一定的了解。

1.简介

Jakarta Struts是一个基于MVC模式创建servlet应用程序的框架。大多数Struts应用程序使用浏览器作为客户端。事实上,Struts足够开放,可以使用其他客户端模式。在这里,我将把我的文章“编写第二个Jakarta Struts应用程序”中的一个浏览器应用程序示例更改为Swing客户端模式,只需稍加修改代码。

本文主要介绍如何使用Swing客户端连接现有的Servlet应用程序。如果你计划开发一个java应用程序,你可以使用浏览器作为客户端,也可以使用Swing作为客户端,你需要根据你的程序需求灵活选择架构,比如EJB或者web service,它们提供简单的接口。

2.Struts结构

在我们开始之前,让我们来看看浏览器是如何与Struts应用程序通信的。这些将反映在我们的Swing应用程序中。

Struts应用通过servlet接收GET或POST请求启动。

servlet决定调用哪个‘动作’,并从URL获取信息。

实现Action的java类在struts-config.xml中配置

struts的输出由jsp显示,jsp的名称也在struts-config.xml文件中指定。

所以* * *非浏览器应用程序需要能够向servlet发送请求,并从jsp页面获得响应。

3.The URLConnection class

使用URLConnection类可以很容易地用java编写servlet请求代码。这门课很有趣,因为它有一些奇怪的设计。如果你想看它的实现,我建议你读一下‘避开隐藏在URL连接类中的陷阱’。

如果您想发送带有“list”操作的请求并接受打印响应,您需要编写如下代码:

urlURl=NewURl(' http://my server/project/list . do ');URL connectionConn=URL . OpenConnection();BufferedReaderin=new bufferedreader(new inputstreamreader(conn . getinputstream()));Stringlinewhile((line=in.readLine())!=null){System.out.println(第行);一般来说,您通常需要在请求的同时发送一些数据——就像提交表单一样。这些数据需要在您阅读回复之前发送。

urlURl=NewURl(' http://my server/project/list . do ');URL connectionConn=URL . OpenConnection();conn . setdooutput(true);conn . setrequestproperty(' user-agent ',' SWING ');BufferedWriterout=

nbsp;    new BufferedWriter(new OutputStreamWriter(conn.getOutputStream()));        out.write("name1=value1&name2=value2");        out.flush();       out.close();              String c = conn.getHeaderField("Set-Cookie");       BufferedReader in =           new BufferedReader(new InputStreamReader(conn.getInputStream()));      String line;        while ((line = in.readLine()) != null) {         System.out.println(line);      }

这个例子同时也显示了如何读写HTTP头信息。
***个例子使用GET方法与HTTP通信,而第二个例子使用POST方法通信。你同样可以使用GET方法来给servlet传送数据,但是就必须要把数据加到URL里,像这样:

URL url = new URL("http://myserver/project/list.do?name1=value1&name2=value2");

4.Identifying the client

现在我们知道怎么发送和请求数据了,但是我们怎么接受数据呢?如果响应是给浏览器的,那响应里就包含了HTML或者还有JavaScript和样式。对于我们的Swing客户端,我们只需要数据。这将带来一个新问题:Struts应用程序如何能识别出客户端是一个浏览器,是个Swing还是其它什么呢?
一种解决办法是在每个请求里添加参数时其能间鉴别出是哪种客户端。我在第二个例子里已经使用了user-agent这个头信息来使其识别出是个Swing客户端。
当Struts应用程序准备好给客户端返回数据时,它就会检测user-agent的值,然后选择适合客户端的jsp页面。这将会替代Struts Action类设置的跳转信息。

String client = (String)request.getHeader("user-agent");       // Forward control to the list page       if (client.equals("SWING"))         return (mapping.findForward("swinglist"));       else return (mapping.findForward("list"));

关于Swing客户端的知识有哪些就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151902.html

(0)

相关推荐

  • 生物笔记1

    技术生物笔记1 生物笔记1走进细胞所有图片均来自于网络(维基百科)。一切动植物由细胞 和细胞产物 构成。
    发菜属于蓝细菌。
    除了支原体外,原核细胞都有细胞壁。
    关于细胞壁的成分,对于真菌,主要由壳多糖和

    礼包 2021年11月1日
  • relocating对Elasticsearch集群的影响是什么

    技术relocating对Elasticsearch集群的影响是什么本篇内容主要讲解“relocating对Elasticsearch集群的影响是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面

    攻略 2021年10月25日
  • 移动前端开发和Web前端开发的区别有哪些

    技术移动前端开发和Web前端开发的区别有哪些本篇内容介绍了“移动前端开发和Web前端开发的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

    攻略 2021年10月27日
  • 令字加偏旁,“令”加什么偏旁变成新字

    技术令字加偏旁,“令”加什么偏旁变成新字令字可以加令字加偏旁: 冫偏旁,组词新字是:冷。令字可以加: 山偏旁,组词新字是:岭。令字可以加: 王偏旁,组词新字是:玲。令字可以加:亻偏旁,组词新字是:伶。冷拼音:lěng

    生活 2021年10月28日
  • Springboot如何获取上下文ApplicationContext

    技术Springboot如何获取上下文ApplicationContext本篇文章给大家分享的是有关Springboot如何获取上下文ApplicationContext,小编觉得挺实用的,因此分享给大家学习,希望大家阅

    攻略 2021年11月25日
  • leetcode翻转链表(leetcode如何删除链表)

    技术LeetCode怎样反转链表这篇文章主要为大家展示了“LeetCode怎样反转链表”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“LeetCode怎样反转链表”这篇文章吧。

    攻略 2021年12月15日