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)

相关推荐

  • Modern Batch和计算密集型的编程模型是如何批量处理

    技术Modern Batch和计算密集型的编程模型是如何批量处理本篇内容主要讲解“Modern Batch和计算密集型的编程模型是如何批量处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编

    攻略 2021年11月2日
  • Freeswitch在debian10下的安装及编译

    技术Freeswitch在debian10下的安装及编译 Freeswitch在debian10下的安装及编译Installing FreeSWITCH - Package or Source 从apt

    礼包 2021年10月20日
  • c++和Python哪个好(g++工程师工资)

    技术Idea SpringMVC+Spring+MyBatis+Maven怎么使用本篇内容介绍了“Idea SpringMVC+Spring+MyBatis+Maven怎么使用”的有关知识,在实际案例的操作过程中,不少人

    攻略 2021年12月14日
  • 无底洞打一成语是什么成语,求几个谜底为成语的谜语!

    技术无底洞打一成语是什么成语,求几个谜底为成语的谜语!呀(打一成语)。 谜底无底洞打一成语是什么成语:唇齿相依 板(打一成语)。 谜底:残茶剩饭
    咄(打一成语)。 谜底:脱口而出
    票(打一成语)。 谜底:闻风

    生活 2021年10月28日
  • 11.6 3Python 第六章 函数

    技术11.6 3Python 第六章 函数 11.6 3Python 第六章 函数1.运行结果如右图,函数在定义时没有返回值,体现在return的位置错啦!
    其余错误:函数错误,修改后如下:2. 错误2

    礼包 2021年11月7日
  • 无锡旅游景点大全,去无锡旅游哪些景点值得推荐

    技术无锡旅游景点大全,去无锡旅游哪些景点值得推荐无锡是个好地方,有水有山,可以说依山傍水,有很多著名的可供游人一赏。1、太湖,当你听到太湖美这首歌曲时,你就会感到太湖美,名副其实无锡旅游景点大全;2、三国水浒城,又是中央

    生活 2021年10月24日