cjavahttp的简单介绍

博主:adminadmin 2023-01-27 16:18:07 348

本篇文章给大家谈谈cjavahttp,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

现在想用java编写一个C/S的应用,用HTTP协议怎么处理通信??

如果使用http协议的话,可以使用xml或者json数据格式。

预先制定报文的格式,客户端和服务器程序解析报文后进行逻辑处理。

关于C加加和JAVA

C++之父评论C++与Java

Linux之父炮轰C++:

Java之父评价C语言之父:我用尽了形容词

 

C++之父评论C++与Java

如果人们非要拿C++和Java来作比较,我建议他们去阅读The Design and Evolution of C++,看看C++为什么是今天这个样子,用我在设计C++时遵从的原则来检验这两种语言。这些原则与SUN的Java开发小组所持的理念显然是不同的。除了表面语法的相似性之外,C++与Java是截然不同的语言。在很多方面,Java更像Smalltalk。(Sun的培训教材清楚地写道:Java在设计上采用了与C++相似的语法,与Smalltalk相似的语义。所以可以说Java与C++是貌合神离,与Smalltalk才是心有灵犀。)Java语言相对简单,这部分是一种错觉,部分是因为这种语言还不完整。随着时间的推移,Java在体积和复杂程度上都会大大增长。在体积上它会增长两到三倍,而且会出现一些实现相关的扩展或者库。这是一条每个成功的商业语言都必须走过的发展之路。随便分析一种你认为在很大范围内取得了成功的语言,我知道肯定是无有例外者,而且实际上这非常有道理。

上边这段话是在Java 1.1推出之前写的。我确信Java需要类似模板的机制,并且需要增强对于固有类型的支持。简单地说,就是为了基本的完整性也应该做这些工作。另外还需要做很多小的改动,大部分是扩展。1998年秋,我从James Gosling(Java语言的创始人)那里得到一份建议书,说是要在Java中增加固有类型、操作符重载以及数学计算支持。

还有一篇论文,是数学分析领域的世界级大师,伯克利大学的W. Kahan教授所写的How Java's Floating-Point Hurts Everyone Everywhere(且看Java的浮点运算如何危害了普天下的芸芸众生),揭露了Java的一些秘密。我发现在电视和出版物中关于Java的鼓吹是不准确的,而且气势汹汹,让人讨厌。大肆叫嚣凡是非Java的代码都是垃圾,这是对程序员的侮辱;建议把所有的保留代码都用Java重写,这是丧心病狂,既不现实也不负责任。Sun和他的追随者似乎觉得为了对付微软罪恶的“帝国时代”,就必须如此自吹自擂。但是侮辱和欺诈只会把那些喜欢使用不同编程语言的程序员逼到微软阵营里去。

Java并非平台无关,它本身就是平台。跟Windows一样,它也是一个专有的商业平台。也就是说,你可以为Windows/Intel编写代码,也可以为Java/JVM编写代码,在任何一种情况下,你都是在为一个属于某个公司的平台写代码,这些代码都是与该公司的商业利益扯在一起的。当然你可以使用任何一种语言,结合操作系统的机制来编写可供JVM执行的程序,但是JVM之类的东西是强烈地偏向于Java语言的。它一点也不像是通用的、公平的、语言中立的VM/OS。私下里,我会坚持使用可移植的C++作大部分工作,用不同的语言作余下的工作。

“Java is not platform-independent, it is the platform”,B. S的这句评语对于C++用户有着很大的影响,有些C++高手甚至把这句话作为自己的签名档,以表明对Java的态度和誓死捍卫C++的决心。

Linux之父炮轰C++:

糟糕程序员的垃圾语言(1)2007-09-09 13:33 刘江 刘江@图灵 我要评论(14) 字号:T | TLinux之父为Linux内核开发而专门打造的版本控制软件Git已经引起了业界的广泛关注。Dmitry Kakurin查看源代码之后,发现使用的是纯C而非C++,表示不可理解。引起了Linux之父炮轰C++:糟糕程序员的垃圾语言。AD: 2013大数据全球技术峰会低价抢票中

Linux之父炮轰C++:糟糕程序员的垃圾语言Linux之父话糙理不糙不得不看的两次从C++回归C的高手评论C++C语言是否该扔进垃圾桶为什么每个程序员都应该学习C语言?每个程序员都应该学习C语言?我可不这么认为C语言已经死了,5个需要忘却它的理由用C设计 用C++编码为什么使用C++C++0x:崭新的C++,还是另一个Java?编程语言的三大定理动态语言为何难堪重任动态语言面面观Linux之父Linus Torvalds为了Linux内核开发而专门打造的版本控制软件Git已经引起了业界的广泛关注。昨天,有一位Dmitry Kakurin老兄在查看了源代码之后,发现使用的是纯C而非C++,表示不可理解,他直言:“别拿可移植性说事儿,这是屁话(BS,bullshit)。“(此外,他还批评Git蛮力地直接操作文本,既啰嗦又易错,而且很难跟上高层代码逻辑。)”这个BS引起了Torvalds的强烈反应,他用“*YOU* are full of bullshit.”(你才满嘴屁话呢)作为自己反驳的开场白。接着,他先转向了对C++的罕见的火药味十足的炮轰:“C++是一种糟糕的(horrible)语言。而且因为有大量不够标准的程序员在使用而使情况更糟,以至于极容易产生彻头彻尾的垃圾(total and utter crap)。老实说,选择C就是为了把C++程序员踢出去。……我有这样的结论,任何喜欢用C++而不是C开发项目的程序员可能都是我希望踢出去的人,免得他们来搞乱我参与的项目。C++会导致非常非常糟糕的设计选择。你们这些C++程序员总是一上来就用语言的那些‘漂亮的’库特性比如STL、Boost和其他彻头彻尾的垃圾,这可能对你们的程序有所‘帮助’,但是却会导致:

——当库无法工作时无穷无尽的折磨(别跟我说什么STL尤其是Boost很稳定而且可移植性很好,那全是屁话,而且一点都不可笑)

——低效的抽象编程模型,可能在两年之后你会注意到有些抽象效果不怎么样,但是所有代码已经依赖于围绕它设计的‘漂亮’对象模型了,如果不重写应用程序,就无法改正。也就是说,使用优秀的、高效的、系统级的和可移植的C++的唯一方式,最终还是限于使用C本身具有的所有特性。项目限制只用C,意味着参与的人不会捣乱,也意味着会得到许多真正懂得底层问题,而不会折腾那些白痴‘对象模型’垃圾的程序员。

所以,我很抱歉,但是对于Git这样效率是主要目标的软件,C++的所谓优点只是巨大的错误。而我们将看不到这一点的人排除在外却成了一个巨大的附加优势。如果你想要用C++写的版本控制系统,去玩Monotone吧。他们确实使用了‘真格的数据库’,使用了‘漂亮的面向对象库’、使用了‘漂亮的C++抽象’。可是说老实话,所有这些对某些计算机专业人士而言富于吸引力的设计决定,其最终结果确是一堆可怕、难以维护的垃圾。”【070907更新】Torvalds和Dmitry Kakurin争论继续中。对Torvalds的回击,Dmitry反唇相讥:“随着只用C编程的恐龙们逐渐灭绝,你很快就会发现只剩下自己一个人在固执己见。用Git贡献者的数量是说明不了问题的。显然C++开发者也能够贡献C代码。但是以为他们喜欢这种方式,那可就错了。

没有C的时候我用汇编编程。然后在C++诞生之前,我转向了C。现在我使用C++和C#,而且不再走回头路。差劲的程序员用任何语言都写不出好程序。但是为了将差劲的贡献者拒之门外这样一个没谱的理由而惩罚优秀的开发者,这简直是胡闹。”只过了10几分钟,Torvalds就回贴了:“和你不同的是,我实实在在地给出了不喜欢C++的原因,而且指出了它可能导致的各种问题的一些例子。而你呢,没有给出一条像样的使用C++的理由。事实上,Git比其他软件配置管理软件都要好,而好的品味(taste)和C正是原因之一。”

对上面的最后一句话,Torvalds后来又做了如下补充:

“说得更具体一些:

——简单和清晰的核心数据结构, 非常精益(lean)且颇具雄心的暧昧管理着它们,将“简单胜于花哨”这一方法发挥到极致。

——有意识地不抽象数据结构和算法,因为它们恰恰是Git核心的全部要素(whole point)。        如果你想用更花哨的语言,C++绝对是最糟糕的选择。如果想要真正的高级特性,那就选择有垃圾回收或者好的系统集成的,而不是既缺乏C的简约(sparseness)又缺乏C的直接而且没有重要概念的高层 绑定(high-level bindings to important concepts)的东西。        一言以蔽之,C++正处在困境当中,它既无法帮助原型化或者简单的GUI编程足够简化从而真正可用,不是C那样积极地鼓励你使用简单和直接的语言构造的精益系统编程语言。”      (另一位同学插了一句:这还没有提到很难找到两个C++编译器支持同样的特性。)“这与什么恐龙毫无关系。好的品味永远不会过时。将C与汇编语言相提并论,恰恰说明你对自己所讨论的问题缺乏起码的概念(don't have a friggin idea)。”

Java之父评价C语言之父:我用尽了形容词

摘要:Java 之父James Gosling在上周发布了关于讨论C语言之父Dennis Ritchie的简短博文称:C语言撑起了一切,他的影响巨大,并超越了科技世界。

Java之父詹姆斯·高斯林(James Gosling)在上周发布了关于讨论C语言之父丹尼斯·里奇(Dennis Ritchie)的简短博文:丹尼斯·里奇辞世的新闻如五雷轰顶。过去几天已经有很多资讯报道此事。他的影响巨大,并超越了科技世界,虽然他的大多影响都不为人知,但完全可以感受到。C语言撑起了一切。我的整个职业生涯也是从C语言和Unix中发展而来。对当今的大多数工程师而言,很难理解我在20世纪70年代感受到的幸福愉快感。当一种编程语言最终出现,我(其他人也)可以从汇编语言提升到一种真正的编程语言。我们可以做任何一切,过去我们得编写所有低级位系统。在C语言之前,编程语言达不到任务:开销太大了。系统的复杂性是真的阻碍了用汇编语言编写大型软件。C语言就像代码的JATO。(编注:“JATO”是“Jet-fuel assisted take off”的缩写,字面意思:“辅助起飞的喷气燃料”。这个系统通过小型火箭提供辅助动力,以帮助超载的飞机起飞升空。)下面是詹姆斯·高斯林此文的一些评论:Truely James. For every Computer professional in the world, the first language they come across is C. With so much of wonderfulness and which also makes the learning experience so fun and entertaining. RIP Ritchie!!!说的很对,詹姆斯!对于每个计算机专业人士,他们所接触的第一种编程语言就是C语言。(C语言)有着如此多的令人惊奇的地方,这也使得学习过程非常有趣。安息,里奇!!!Great ones are falling. I still love C. So simple. So powerful.一位巨星的陨落。我仍然爱着C语言。如此简单,如此强大。I remember C being like Adventure for programmers: lots of little pits for the unwary to fall into. Even after many years there were a few I hadn't found. It was a good time.我记得C语言就是程序员的冒险:有很多小坑,一不小心就陷进去。即便很多年过后,还有一些我没有发现的。那是个美好时刻。The equation is quite simple : Richie is like Einstein, pure Genius. All the IT is built on Kamp;R works. Thanks man, and RIP...等式非常简单:里奇就像爱因斯坦,纯粹的天才。IT业的所有都基于肯贝汉和里奇的成果。感谢,安息……文章出自:nighthacks译文来自:伯乐在线

我想学编程,算是兴趣吧。先从C开始还是JAVA,需要用到什么软件,最好是能给网址、里面软件是现在还

首先你要学会一门语言,建议学C语言

C语言学了之后还需要学习数据结构,注意是数据结构,不是数据库

相信这两本书你看了之后,应该入门了

首要之首:不要急于选择一种语言

新手们有一个常见的错误就是犹豫于判断哪种编程语言是做好的、最该先学的。 我们有很多的选择,但你不能说那种语言最好。 我们应该理解:说到底,什么语言并不重要。 重要的是理解数据结构、控制逻辑和设计模式。任何一种语言甚至一种简单的脚本语言都会具有所有编程语言都共有的各种特征,也就是说各种语言是贯通的。 我正在攻读我的计算机学学位,我编程使用Pascal,汇编,和C语言,事实上我从来没有把它当成职业以求获得回报。 我一直在自学编程,工作上用不到它,我使用现有的知识,参考各种文档和书本,学习它们的用法。 因此,不要急于选择何种编程语言。 找出你想要开发的东西,使用一种能够完成这项任务的语言,这就可以了。

根据各种开发平台的不同,有很多不同的软件开发形式可供你选择:从网站应用到桌面软件到智能手机软件到命令行脚本工具。 这篇文章里,我将重点介绍一些很受欢迎的入门教程和资源,它们能帮助你学会如何在各种主流的平台上编程开发。 我先假设你是一个悟性很强的读者,但对于新手,当我谈论程序代码时还是要按照入门级的水平。 因为即使是你自己看一篇编程入门 手册,如果发现都能理解时,心情自然会很高兴,这样利于你进一步学习。

3

桌面脚本

想要动手在Windows里或苹果系统里编程,最简单的方法是从一种脚本语言或宏语言开始,例如AutoHotkey (Windows) 或 Automator (苹果系统)。 如今一些硬件程序员冲着他们的屏幕大喊大叫,说AHK和AppleScript并不是真正的编程语言。 也许他们说的是对的技术上,这些种类的语言只能做一些上层的编程。 但是对于那些只是想来脱盲、想在他们的电脑里实现一些能自动运行的程序的新手来说,这些语言会是一个绝妙的入门入口而且你会吃惊于它们丰富的功能。

例如,大家都喜爱的Texter就是Adam使用AutoHotkey开发的能独立运行的Windows应用程序,所以说这种脚本语言远不是只能开发小规模脚本软件。 如果你想从AutoHotkey入手,可以参考Adam的指导: how to turn any action into a keyboard shortcut using AutoHotkey(然后,你可以下载 Texter源代码 看看这个功能齐全的使用AHK开发的Windows应用程序的内部结构)。

4

Web开发

除了把自己约束在特定的编程语言和特定的操作系统上,你还可以在浏览器里开发你的杀手锏程序,让它在互联网上运行,这就是webapp。 欢迎来到奇妙的web编程世界。

HTML 和 CSS:开发网站,你第一件要知道的事情就是HTML(网页就是由它组成的)和CSS(一种让外观更好看的样式标记)。 HTML 和 CSS 并不是编程语言它们只是页面的结构和样式信息。 然而,在开始开发web应用程序之前你必须要学会如何手工的编写简单的HTML和CSS,web页面是任何webapp的前端显示部分。 这个 HTML 指导 是你入手的好地方。

JavaScript:当你可以通过HTML和CSS构建一个静态页面后,事情就开始变得有趣了因为到了该学JavaScript的时候了。 JavaScript是一种web浏览器上的编程语言,它的魔力就是能在页面里制造一些动态效果。 JavaScript可以做bookmarklets, Greasemonkey 脚本, 和 Ajax, 所以它是web上各种好东西的关于因素。 学习JavaScript从这里开。

服务器端脚本:一旦你学会了网页里的知识,你就要开始对它添加一些动态服务器操作为了实现这些,你需要把目光转移到服务器端脚本语言,例如PHP, Python, Perl, 或 Ruby。 举个例子,如果想要制作一个网页形式的联系方式表单,根据用户的输入发送邮件,你就需要使用服务器端脚本来实现。 像PHP这样的脚本语言可以让你跟web服务器上的数据库进行沟通,所以如果你想搭建一个用户可以登录注册的网站,这样的语言正是你需要的。 Webmonkey 是一个优秀的web开发资源网站,里面有大量的各种web编程语言的指导手册。 阅读一下他们的 PHP 初学者指南。 当你感觉差不多了的时候,看看WebMonkeys PHP and MySQL tutorial 学习如何使用PHP跟数据库交互。 网上最好的要数PHP语言官方的在线文档和函数参考了。 每个知识点上 (例如strlen function这个)都在后面列出来用户的评论注释,这些对于文档的本身是非常有价值的。 (我很喜欢PHP,但还有很多其他种服务器端的脚本语言你们都可以选择。)

Web框架:过去数年里,web开发人员在开发动态网站的过程中不得不一遍又一遍的针对重复遇到的问题写出重复的代码。 为了避免这种每次开发一些新网站都会重复劳动一次的问题,一些程序员动手搭建了一些框架,让框架替我们完成重复性的工作。 非常流行的 Ruby on Rails 框架,作为一个例子,它利用Ruby编程语言,为我们提供了一个专门面向web的架构,普通的web应用程序都能使用它来完成。 事实上,Adam使用Rails开发了他的第一个正式的(而且是叹为观止的!)web应用程序,MixTape.me。这就是 他的如何在没有任何经验的情况下搭建一个网站。还有一些其他的web开发框架包括 CakePHP (针对 PHP 编程者), Django (针对 Python 编程中), 以及 jQuery (针对 JavaScript).

Web APIs: API (应用层序编程接口) 是指不同的软件之间相互交换的程序途径。 例如,如果你想在你的网站上放一个动态的地图,你可以使用Google Map,而不需要开发自己的地图。 The Google Maps API 可以轻松的让你通过JavaScript在程序中引入一个地图到你的页面上。 几乎所有的现代的你所知道的和喜爱的web服务都提供了API,通过这些API你可以获取到他们的数据和小工具,在你的应用程序里就可以使用这些交互过来的东西了,例如Twitter, Facebook, Google Docs, Google Maps, 这个列表远不止这些。 通过API把其他web应用集成到你的web应用里是现在富web开发的前沿地带。 每个优秀的主流的web服务API都附带有完整的文档和一些快速入手的指导(例如,这个就是 Twitter的)。 疯狂吧。

5

命令行脚本

如果你想开发一个程序,让它读取文字或文件、输入输出一些有用的东西,那么,命令行脚本语言将是个不错的选择。 然而它并不像web应用程序和桌面应用程序那样有吸引力和好看的外观,但是作为快速开发的脚本语言,你却不能忽视它们。

很多的在linux平台上运行的web脚本同样能以命令行模式运行,例如Perl,Python和PHP,所以如果你学会了使用它们,你将能在两种环境中使用它们。 我的学习道路一直没离开Peal太远,我自学Python使用的是这本优秀的在线免费书Dive into Python。

如果成为一个Unix高手也是你学习的目标,那么你绝对要精通bash这个脚本语言。 Bash是Unix和Linux环境下的一种命令行脚本语言,它能够为你做所以的事情:从自动备份数据库脚本到功能齐全的用户交互程序。 起初我没有任何使用bash脚本的经验,但最终我用bash开发了一个全功能的个人代办任务管理器: Todo.txt CLI。

6

插件(Add-ons)

如今的web应用程序和浏览器都可以通过一些扩展软件来丰富自己的功能。 由于一些现有的软件,例如Firefox、WordPress越来越受到开发人员的关注,插件的开发也日益流行,人们都在说But if only it could do THIS

只要你掌握了HTML,JavaScript和CSS,你就可以在任何的浏览器里开发你想要的很多东西。 Bookmarklets, Greasemonkey user scripts, 和 Stylish user styles这些软件都是用的更普通页面一样的语言写成的, 这几个东西都值得你去研究一些。

更高级的浏览器扩展程序,例如Firefox的扩展,它们可以帮助你很多。 开发Firefox的扩展,举个例子,需要你精通JavaScript和XML(一种标记语言,类似HTML,但具有更严格的格式)。 早在2007年我就写下来 how to build a Firefox extension, 这是我在笨手笨脚的研究网上的一些学习资料后获得的成果。

很多免费的、受欢迎的web应用程序都提供了扩展框架,例如WordPress 和 MediaWiki。 这些应用程序都是用PHP写成的,所以只有对PHP熟悉你才能做这些事情。 这个就是 如何编写WordPress插件。 而想驾驭Google Wave前沿技术的开发人员可以从使用HTML, JavaScript, Java, 和 Python 写小组件和小工具开始。 我写的第一个Wave bot是跟着这个 一个下午时间的快速入门指导开始的。

7

开发桌面上的Web应用程序

学习编程最好的结果是你在一个环境下学的东西可以应用到另外的环境中。 先学习开发web应用程序的好处就是我们有一些方法可以让web应用程序直接在桌面上运行。 例如, Adobe AIR 是一个跨平台的即时运行平台,它能让你编写的程序运行在任何装有AIR的操作系统的桌面上。 AIR应用程序都是由HTML, Flash, 或 Flex 写成的,所以它能让你的web程序在桌面环境中运行。 AIR是开发部署桌面应用程序的一个优秀的选择,就像我们提到过的 10个让你值得去安装AIR的应用程序。

8

移动应用开发

能在iPhone或者Android智能手机上运行的手机应用程序的开发如今正呈现井喷之势,所以你也可以梦想一下如何在iTunes应用商店里通过你的天才程序大赚一笔。 但是,作为一个编码新手,直接奔向移动开发所经历的学习曲线可能会很陡,因为它需要你熟悉高级的编程语言,例如Java和Objective C。 然而,你当然应该看看iPhone 和 Android 编程究竟是什么样子的。 阅读这个 简单的iPhone应用开发例子 可以初步认识一下iPhone程序的开发过程。 Android 程序都是由Java写成的,这有一个 简单的视频教程教你如何开发第一个Hello Android程序(注:可能需要代理才能看这个视频)。

9

最后:耐心,刻苦,尝试,失败

好的程序员都有一个不达目的誓不罢休的品质,他们会惊喜于通过长期推敲和失败换来的一点成绩。 学会编程会有很好的回报的,但是学习的过程可能会是饱受挫折和孤独的。 如果有可能,最好找个伴一起陪你做这件事。 想精通编程,这和其他事情一样,需要坚持,反复尝试,获得更多的经验。

END

注意事项

这篇文章里的内容就是对那些想通过自我研究达到学会编程目的的新手们的一些重要建议。 编程老手们:我有什么遗漏吗? 不论你的水平如何,请留下你的想法。

有什么想法可以跟 联系

http如何实现同时发送文件和报文(用java实现)

你用的servlet 还是别的框架?

选POST

选form-data

选body

选File

选文件

Send

// commons fileupload组件的情况下,servlet接收的数据只能是type=file表单元素类型,那么获取type=text类型,就可以使用parseRequest(request)来获取list,fileitem,判断isFormField,为true非file类型的。就可以处理了。下面是处理的部分代码:

DiskFileItemFactory factory = new DiskFileItemFactory();factory.setSizeThreshold(1024*1024);

String dirtemp = "c:";

File filedir = new File(dirtemp + "filetemp");

String str = null;if(!filedir.exists())filedir.mkdir();factory.setRepository(filedir);

ServletFileUpload upload = new ServletFileUpload(factory);

List list = upload.parseRequest(request);for(

int i = 0;ilist.size();i++)

{

FileItem item = (FileItem) list.get(i);

if (item.isFormField()) {

System.out.println(item.getString());

} else {

String filename = item.getName();

item.write(new File(request.getRealPath(dir), filename));

}

}

java怎么接收http协议传过来的数据,是C语言写的,copy的别来,在线等,

既然是http协议, 必然是 get 或者post 两种方式, 你根据它的方式, 像处理普通的jsp回发一样就可以了,不需要管什么语言写的

httpclient 怎么实现多文件上传 c/s java

虽然在JDK的java.net包中已经提供了访问HTTP协议的基本功能,但是对于大部分应用程序来说,JDK库本身提供的功能还不够丰富和灵活。HttpClient是ApacheJakartaCommon下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。以下是简单的post例子:Stringurl="bbslogin2.php";PostMethodpostMethod=newPostMethod(url);//填入各个表单域的值NameValuePair[]data={newNameValuePair("id","youUserName"),newNameValuePair("passwd","yourPwd")};//将表单的值放入postMethod中postMethod.setRequestBody(data);//执行postMethodintstatusCode=httpClient.executeMethod(postMethod);//HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发//301或者302if(statusCode==HttpStatus.SC_MOVED_PERMANENTLY||statusCode==HttpStatus.SC_MOVED_TEMPORARILY){//从头中取出转向的地址HeaderlocationHeader=postMethod.getResponseHeader("location");Stringlocation=null;if(locationHeader!=null){location=locationHeader.getValue();System.out.println("Thepagewasredirectedto:"+location);}else{System.err.println("Locationfieldvalueisnull.");}return;}详情见:/developerworks/cn/opensource/os-httpclient/

关于cjavahttp和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。