词条 | JavaWeb整合开发完全自学手册 |
释义 | 本书概述了Java Web开发基础知识,详细讲解了Struts 2框架的知识及应用,Hibernate 3框架的知识及应用,Spring 2.5框架的知识及应用,并用1个项目案例讲解了SSH框架整合应用。本书适合Java Web开发入门人员、Jave Web开发程序员、J2EE初学者人员、希望提高系统设计水平的人员、想了解SSH新版本的人员、以及其他编程爱好者来阅读使用。 本书特色:涵盖基础知识、核心技术、典型示例等内容,按照“基本概念-核心语法-典型示例”的模式讲解,容易上手,提供100余个典型实例、1个完整案例。 目录1 Java开发Web应用(第1章Web应用的发展 第2章学习JSP) 目录2 Struts2(第3章Struts2概述 第4章Struts2入门 第5章Struts2的核心概念 第6章Struts2的View组件 第7章Struts2的高级应用 第8章Struts2实战inMyEclipse) 目录3 Hibernate3(第9章Hibernate概述 第10章Hibernate入门 第11章Hibernate的基本操作 第12章Hibernate的O/R映射 第13章复杂映射关系 第14章用Hibernate检索数据 第15章Hibernate高级应用 第16章Hibernate3实战inMyEclipse) 目录4 Spring2.5(第17章Spring概述 第18章Spring入门 第19章Spring的IoC 第20章Spring的AOP 第21章Spring的MVC框架 第22章用Spring整合其他应用 第23章Spring2.5实战inMyEclipse) 目录5 Struts2+Spring2.5+Hibernate3实例(第24章使用Struts+Hibernate+Spring) 版权信息书 名: JavaWeb整合开发完全自学手册 作 者:白广元 出版社: 机械工业出版社 出版时间: 2009 ISBN: 9787111242819 开本: 16 定价: 68.00 元 内容简介《JavaWeb整合开发完全自学手册》介绍如何整合Struts+Hibernate+Spring+Eclipse进行J2EE开发,所有实例都基于MyEclipseIDE开发,引领读者快速进入基于JavaWeb的J2EE应用领域。《JavaWeb整合开发完全自学手册》主要介绍Struts、Hibernate、Spring、Eclipse的基础知识,如何整合这4个开源框架进行J2EE开发,如何基于MyEclipseIDE进行开发,J2EE开发的基础和基础环境搭配,Struts、Hibernate、Spring、Eclipse四个框架的使用,如何整合Struts+Hibernate+Spring+Eclipse框架。Struts+Hibernate+Spring+Eclipse已经成为轻量级开发J2EE的标准配置,被称为SHS经典组合,这也是目前Java程序员必须掌握的技能。由于使用范围广也使它们的版本更替非常之快,尤其是Java5推出以后这些项目都采用了Java5中的特性来重新实现并增加了很多新特性。以国内使用最广泛的Struts为例,其新版本Struts2与前一版Struts1.x已经有了天壤之别。Hibernate也从2.0升级为3.X,近期Spring也最新推出了2.5版。读者如果再参考以前的版本书籍学习,无异于南辕北辙,而《JavaWeb整合开发完全自学手册》的编写就是基于当前最新的版本,也着重于新版本中新功能的介绍。本书适合Java开发Web应用和J2EE的初学者阅读,同时也适合有一定基础并希望提高自己的系统设计水平的读者阅读。《JavaWeb整合开发完全自学手册》的重点第二篇Struts、第三篇Hibernate、第四篇Spring采用了相似的行文结构,条理清楚,不仅可作为stepbystep的入门书籍,也可作为读者自学的案头参考书。 编辑推荐书山有路勤为径,学海无涯苦作舟! 《JavaWeb整合开发完全自学手册》涵盖主题 JSP基础知识 Struts2框架 sturts.xml核心配置文件 Action接口 Result类型 Interceptor拦截器 Struts2的View组件 Spring2.5框架 config-beans.xml文件 Spring的AOP Spring的IoC Hibernate3框架 Hibernate.cfg.xml配置文件 Hibernate的O-R映射 创建Hibernate持久化类 用Hibernate检索数据--HQL Hibernate核心类 SSH案例:图书管理系统 《JavaWeb整合开发完全自学手册》特色 涵盖基础知识、核心技术、典型示例等内容 按照“基本概念一核心语法一典型示例”的模式讲解.容易上手 提供100余个典型实例、1个项目案例 超值光盘内容 《JavaWeb整合开发完全自学手册》源代码+本书视频演示+本书电子教案(PPT) 1200余页编程技术文档(免费赠送)+45个编程专题视频讲座(免费赠送) 《JavaWeb整合开发完全自学手册》重点内容概览 JavaWeb开发基础知识概述 详细讲解Struts2框架的知识及应用 详细讲解Hibernate3框架的知识及应用 详细讲解Spring2.5框架的知识及应用 用1个项目案例讲解SSH框架整合应用 《JavaWeb整合开发完全自学手册》读者对象 JavaWeb开发入门人员 JavaWeb开发程序员 J2EE初学者 希望提高系统设计水平的人员 想了解SSH新版本的人员 其他编程爱好者 丛书特点 作者均为有多年编程经验的一线 程序员或者培训讲师 光盘提供了源代码、视频演示、电子教案及编程技术文档 按“基本概念一语法讲解一示例讲解”的模式讲解,适合自学 概念都以简单的语言描述.必要时进行类比,容易理解 提供了大量实例.最后还提供了综合案例,比较实用 无论理论知识,还是实例,讲解都很详细,容易掌握 对代码进行了丰富的注释,阅读起来没有任何障碍 目录1 Java开发Web应用第1章Web应用的发展1.1从静态网页说起 1.2动态网页的鼻祖CGI 1.3三足鼎立 1.3.1系出名门-ASP和.NET 1.3.2草根中走出的巨人-PHP 1.3.3来自Java阵营-JSP和J2EE 1.4模型-视图-控制器(MVC) 1.4.1MVC简介 1.4.2MVC的组成 1.4.3MVC带来的好处 1.5Ajax的兴起 1.5.1什么是Ajax 1.5.2Ajax的工作原理 1.5.3Ajax的优势所在 1.6小结 第2章学习JSP2.1环境准备 2.1.1安装JDK 2.1.2安装Tomcat 2.1.3安装MyEclipse 2.2第一个JSP程序 2.2.1JSP的工作原理 2.2.2JSP目录结构 2.2.3解读web.xml 2.2.4编写第一个JSP 2.2.5发布与测试 2.3JSP基本的语法 2.3.1给JSP加注释 2.3.2在JSP中声明变量和函数 2.3.3用JSP表达式输出结果 2.3.4用JSP脚本实现程序逻辑 2.4编译指令和动作标签 2.4.1使用page指令 2.4.2用include指令插入其他JSP 2.4.3用taglib指令引入标签库 2.4.4用forward标签跳转页面 2.4.5动态插入文件 2.4.6用标签操作JavaBean 2.4.7其他动作标签 2.5JSP的内置对象 2.5.1使用Request对象获取请求 2.5.2使用Response对象做应答 2.5.3在Session对象中保存用户会话 2.5.4Application对象、pageContext对象和JSP的Scope 2.5.5使用Out对象输出 2.5.6在Exception对象中处理异常 2.5.7Page对象和Config对象 2.6Servlet 2.6.1Servlet简介 2.6.2创建Servlet 2.6.3过滤器(Filter) 2.6.4监听器(Listener) 2.7自定义JSP标签 2.7.1标签库简介 2.7.2创建标签的处理类 2.7.3创建标签库描述文件 2.7.4使用自定义标签 2.7.5JSP2.0中新增的标签定义方法 2.8小结 目录2 Struts2第3章Struts2概述3.1Struts项目简介 3.2Struts2的前世今生 3.3Web世界中的MVC 3.3.1MVC在Web中的发展 3.3.2前端控制器和页面控制器 3.4为什么要使用Struts2 3.4.1框架的意义 3.4.2Struts2的优势 3.5小结 第4章Struts2入门4.1下载与安装Struts2 4.1.1下载Struts2 4.1.2发布Struts2自带的例子 4.2第一个Struts2程序 4.2.1配置web.xml 4.2.2编写JSP界面 4.2.3编写Action类 4.2.4添加映射到配置文件 4.3发布与测试 4.3.1发布 4.3.2测试结果 4.3.3分析处理流程 4.4小结 第5章Struts2的核心概念5.1术语概述 5.2Struts2的体系结构 5.3Struts2的配置文件 5.3.1全局配置文件-struts.properties 5.3.2核心配置文件-struts.xml 5.3.3struts.xml的默认实现 5.3.4Velocity模板规则文件 5.4struts.xml的配置 5.4.1Action配置 5.4.2Result配置 5.4.3拦截器(Interceptor)配置 5.4.4包(Package)配置 5.4.5命名空间(Namespace)配置 5.4.6在struts.xml中定义Bean 5.4.7在struts.xml中使用通配符 5.5实现Action 5.5.1实现Action接口 5.5.2扩展ActionSupport类 5.5.3实现基本校验 5.5.4使用本地的资源文件 5.5.5用ActionContext与Web容器发生联系 5.5.6高级输入 5.5.7使用Model-Driven 5.5.8使用Property-Driven 5.6Result类型介绍 5.6.1内置Result类型 5.6.2默认Result 5.6.3页面跳转Result 5.6.4创建Action链 5.6.5整合各种View技术 5.6.6自定义Result 5.7拦截器(Interceptor)介绍 5.7.1Interceptor的原理 5.7.2内置拦截器介绍 5.7.3使用内置Interceptor 5.7.4内置拦截器栈介绍 5.7.5自定义拦截器 5.8小结 第6章Struts2的View组件6.1EL简介 6.1.1EL语法 6.1.2EL变量 6.1.3自动转变类型 6.1.4EL隐含对象(内置对象) 6.1.5EL保留字 6.2使用通用标签 6.2.1标签语法 6.2.2控制标签(ControlTags) 6.2.3数据标签(DataTags) 6.2.4杂项标签 6.3使用HTML标签 6.3.1模板(Templates)和主题(Theme) 6.3.2通用属性 6.3.3表单标签介绍 6.3.4非表单标签 6.3.5标签实例 6.4OGNL介绍 6.4.1OGNL概述 6.4.2OGNL中的集合 6.5模板和主题的原理及方法 6.5.1模板装载 6.5.2选择主题(Theme) 6.5.3Struts2自带主题 6.5.4自定义主题 6.6在Struts中使用FreeMarker 6.6.1最简单的应用 6.6.2模板加载顺序 6.6.3在FTL文件中使用标签 6.7在Struts中使用Velocity 6.7.1最简单的应用 6.7.2变量解析 6.7.3配置Velocity 6.7.4在VM文件中使用标签 6.8在Struts中使用JasperReports 6.8.1准备JasperReports库 6.8.2定义值对象 6.8.3编写Action类 6.8.4编写Jasper模板 6.8.5配置struts.xml 6.9小结 第7章Struts2的高级应用7.1类型转换(TypeConversion) 7.1.1为什么需要类型转换 7.1.2定义类型转换器 7.1.3内建的(Builtin)类型转换支持 7.1.4参数名称的关系 7.1.5空值属性处理 7.1.6Collection和Map支持 7.1.7类型转换错误处理 7.2校验(Validation) 7.2.1手动校验 7.2.2使用框架校验 7.2.3注册校验器 7.2.4字段校验和非字段校验 7.2.5校验器的短路 7.2.6客户端校验 7.2.7Ajax校验实例 7.3国际化 7.3.1信息的来源 7.3.2资源包搜索顺序 7.3.3添加默认的资源包 7.3.4使用国际化信息 7.4处理上传文件 7.4.1编写文件上传页面 7.4.2构造处理上传的Action 7.4.3编写结果页面 7.4.4更多配置 7.4.5错误处理 7.4.6多文件上传 7.5防止重复提交 7.5.1使用标签增加标记 7.5.2使用Tokeninterceptor验证 7.5.3使用TokenSessionStoreInterceptor重新输出结果页面 7.6自动等待页面 7.7控制反转(IoC) 7.7.1配置Spring 7.7.2实现接口 7.7.3创建Action 7.7.4结果页面 7.8用Annotation配置Struts 7.8.1配置Action 7.8.2配置拦截器 7.8.3配置验证器 7.8.4配置类型转换 7.9小结 第8章Struts2实战inMyEclipse8.1准备开发环境 8.1.1创建工程 8.1.2引入Struts2的类库 8.1.3创建Struts2的配置文件 8.1.4目录结构 8.2编写代码 8.2.1登录界面 8.2.2登录Action 8.2.3用户CRUD操作 8.2.4添加校验 8.2.5实现国际化 8.2.6使用自定义拦截器 8.3在MyEclipse中发布 8.4小结 目录3 Hibernate3第9章Hibernate概述9.1JDBC简介 9.1.1JDBC提供的工具接口 9.1.2JDBC访问数据库 9.1.3持久化层 9.1.4关系型数据库与面向对象的冲突 9.2ORM介绍 9.2.1什么是ORM 9.2.2ORM带来了什么 9.2.3流行的ORM框架简介 9.3Hibernate项目简介 9.3.1Hibernate的传奇经历 9.3.2为什么要选择Hibernate 9.4小结 第10章Hibernate入门10.1安装MySQL数据库 10.1.1下载Hibernate 10.1.2安装MySQL 10.1.3配置MySQL 10.1.4MySQL的常用命令 10.1.5下载MySQL的JDBC驱动 10.2下载与安装Hibernate 10.2.1下载Hibernate 10.2.2安装Hibernate 10.3第一个Hibernate程序 10.3.1创建表 10.3.2创建持久化类(PersistentClasses) 10.3.3编写映射(Mapping)文件 10.3.4编写Hibernate配置文件 10.3.5编写测试程序 10.3.6运行测试 10.4小结 第11章Hibernate的基本操作11.1基本概念 11.1.1体系结构(Architecture) 11.1.2持久化类(PersistentClasses) 11.1.3实例的状态 11.2配置Hibernate 11.2.1数据库连接配置 11.2.2全局属性配置 11.2.3连接池配置 11.2.4使用其他配置方式 11.3Hibernate核心类 11.3.1Configuration类 11.3.2SessionFactory类 11.3.3Session类 11.3.4Query和Criteria类 11.3.5Transaction接口 11.4通过Session完成基本操作 11.4.1保存数据 11.4.2加载数据 11.4.3更新数据 11.4.4saveOrUpdate方法 11.4.5删除数据 11.4.6缓存 11.5小结 第12章Hibernate的O/R映射12.1映射定义(MappingDeclaration) 12.1.1元素介绍 12.1.2元素介绍 12.1.3元素介绍 12.1.4元素介绍 12.1.5其他属性 12.2映射对象标识符 12.2.1标识符的含义 12.2.2内置生成器介绍 12.2.3Hibernate的内置标识符生成器的用法 12.2.4映射自然主键 12.2.5复合自然主键 12.3Hibernate的类型 12.3.1Java基本值类型的Hibernate映射 12.3.2Java时间和日期类型的Hibernate映射类型 12.3.3Java大对象类型的Hibernate映射类型 12.3.4JDK自带的Java类的Hibernate映射类型 12.3.5自定义值类型 12.4小结 第13章复杂映射关系13.1关联关系映射 13.1.1多对一(manytoone) 13.1.2一对一(onetoone) 13.1.3一对多(onetomany) 13.1.4双向关联(bidirectionalassociations) 13.1.5双向一对一(bidirectionalonetoone) 13.1.6使用连接表(withjointables) 13.1.7多对多(manytomany) 13.1.8完整实例 13.2集合类(Collections)映射 13.2.1持久类中的集合类 13.2.2映射集合 13.2.3映射外键 13.2.4映射索引 13.2.5集合类排序 13.2.6完整的Map实例 13.3组件映射 13.3.1依赖对象 13.3.2在集合中出现的依赖对象 13.3.3组件作为联合标识符 13.3.4动态组件 13.4继承关系映射 13.4.1采用所有的类同在一张表 13.4.2采用每个子类一张表 13.4.3采用每个具体类一张表 13.5小结 第14章用Hibernate检索数据14.1查询基础 14.1.1执行查询 14.1.2用iterate()方法迭代查询结果 14.1.3指定绑定参数 14.1.4用Hibernate简单分页 14.1.5可滚动遍历(ScrollableIteration) 14.2HQL语句详解 14.2.1HQL基础 14.2.2用from子句指定数据表 14.2.3用select子句查询数据 14.2.4HQL中的聚集函数 14.2.5多态查询 14.2.6用where子句添加查询条件 14.2.7查询条件中的表达式 14.2.8用orderby子句排序 14.2.9用groupby子句分组 14.2.10HQL的子查询 14.2.11用fetch关键字来延时加载集合 14.2.12将HQL语句放入配置文件中 14.3条件查询 14.3.1添加查询条件 14.3.2结果集排序 14.3.3条件查询中的关联关系 14.3.4使用样例查询 14.3.5离线(Detached)查询和子查询 14.4直接使用SQL 14.4.1使用SQL查询 14.4.2将SQL语句放入配置文件中 14.4.3调用存储过程 14.5数据过滤 14.6小结 第15章Hibernate高级应用15.1批量处理 15.1.1及时清理Session缓冲区 15.1.2使用无状态Session接口 15.1.3使用HQL的批量语句 15.2事务与并发处理 15.2.1事务简介 15.2.2使用JDBC事务 15.2.3使用JTA事务 15.2.4数据操作的异常处理 15.2.5使用悲观锁 15.2.6使用乐观锁 15.3延时加载 15.3.1实体对象的延迟加载 15.3.2集合类型的延迟加载 15.3.3属性延迟加载 15.4缓存管理 15.4.1什么是缓存 15.4.2Hibernate自带的一级缓存 15.4.3二级缓存的定义 15.4.4常用的缓存插件 15.4.5如何使用二级缓存 15.4.6在查询中使用缓存 15.5事件机制 15.5.1拦截器 15.5.2事件系统 15.6使用注释配置Hibernate 15.6.1在创建Session工厂时指定Annotation 15.6.2使用注释 15.6.3给文件中的HQL加注释 15.7小结 第16章Hibernate3实战inMyEclipse16.1环境介绍 16.1.1数据库连接工具 16.1.2创建Hibernate工程 16.1.3生成持久化类 16.1.4HQL编辑器 16.2代码说明 16.2.1配置文件 16.2.2SessionFactory 16.2.3数据脚本 16.2.4持久化类和映射文件 16.2.5DAO类 16.3测试 16.4小结 目录4 Spring2.5第17章Spring概述17.1Spring简介 17.1.1Spring项目历史 17.1.2Spring的由来 17.1.3Spring2.5带来的新特性 17.2Spring的基本概念 17.2.1Spring的组成结构 17.2.2什么是IoC 17.2.3什么是AOP 17.3为什么要使用Spring 17.3.1何谓轻量级(Lightweight) 17.3.2Spring带来了什么 17.3.3Spring的优势 17.3.4其他轻量级容器 17.4小结 第18章Spring入门18.1下载与安装Spring 18.1.1下载Spring 18.1.2安装Spring 18.2第一个Spring程序 18.2.1IoC示例 18.2.2AOP示例 18.3小结 第19章Spring的IoC19.1Bean工厂 19.1.1创建Bean工厂 19.1.2使用多个文件 19.1.3获取Bean 19.1.4BeanFactory的其他方法 19.2配置Bean 19.2.1Bean的定义 19.2.2Bean命名约定 19.2.3Bean的别名 19.3依赖 19.3.1Setter注入 19.3.2构造函数注入 19.3.3引用其他的Bean(协作者) 19.3.4使用depends-on 19.3.5注入集合类 19.3.6自动装配 19.4Bean的特性 19.4.1Bean的作用域 19.4.2改变Bean的行为 19.4.3Bean的生命周期 19.5利用ApplicationContext 19.5.1利用MessageSource实现国际化 19.5.2事件处理 19.5.3底层资源的访问 19.5.4延迟初始化Bean 19.5.5ApplicationContext在Web应用中的实例化 19.6使用注释定义IoC(2.5新增) 19.6.1用例介绍 19.6.2使用@Autowired注释 19.6.3在Setter方法上使用注释 19.6.4在构造函数中使用注释 19.6.5处理出现多个匹配情况 19.6.6使用JSR-250的注释 19.6.7彻底摆脱配置文件 19.7小结 第20章Spring的AOP20.1SpringAOP简介 20.1.1AOP的概念 20.1.2AOP的术语 20.1.3Spring的AOP有何特点 20.1.4SpringAOP的功能和目标 20.2@AspectJ配置AOP 20.2.1启用@AspectJ支持 20.2.2声明一个切面 20.2.3声明一个切入点(Pointcut) 20.2.4合并切入点表达式 20.2.5声明通知 20.2.6通知的参数(AdviceParameters) 20.2.7使用引入(Introductions)来定义接口 20.3XML方式配置AOP 20.3.1声明一个切面 20.3.2声明一个切入点 20.3.3声明通知 20.3.4通知参数 20.3.5使用引入 20.3.6使用@AspectJ还是XML配置AOP 20.4Spring2.5以前的AOP 20.4.1声明切面 20.4.2创建通知 20.4.3配置文件 20.4.4运行实例 20.5小结 第21章Spring的MVC框架21.1SpringMVC简介 21.1.1SpringMVC的结构 21.1.2SpringWebMVC框架的特点 21.2DispatcherServlet的功能 21.2.1在Web服务器中配置DispatcherServlet 21.2.2加载Bean配置文件 21.2.3SpringWeb应用的上下文 21.3控制器(Controller) 21.3.1基类AbstractController 21.3.2其他实用的控制器 21.4处理器映射(HandlerMapping) 21.5视图解析器 21.6Spring对视图的支持 21.6.1Spring的标签库 21.6.2Spring的主题 21.7MVC的完整实例 21.7.1配置web.xml 21.7.2创建Controller 21.7.3视图解析器 21.7.4JSP页面 21.7.5发布与测试 21.8用注释来驱动SpringMVC(2.5新增) 21.8.1基于注释的Controller 21.8.2使注释生效 21.9小结 第22章用Spring整合其他应用22.1集成Struts 22.1.1概述 22.1.2添加plugin包 22.1.3修改web.xml文件 22.1.4把Struts与Spring的配置文件对应起来 22.1.5高级选项 22.2集成Struts1.x 22.2.1装载应用程序环境 22.2.2使用Spring的ActionSupport 22.2.3覆盖RequestProcessor 22.2.4将动作管理委托给Spring 22.3Spring下完成远程访问 22.3.1访问RMI 22.3.2使用JAX-RPC的WebService 22.3.3发送电子邮件 22.3.4其他远程 22.4简化EJB的访问 22.4.1用传统的方式访问EJB 22.4.2用Spring访问EJB 22.5Spring中的定时调度(Scheduling) 22.5.1创建定制的Timers 22.5.2直接调度JavaBean 22.6Spring中的线程池 22.6.1使用TaskExecutor接口 22.6.2Spring自带Executor实现 22.7事务管理 22.7.1编程式事务管理 22.7.2声明式事务管理 22.8使用JDBC进行数据访问 22.8.1JdbcTemplate类 22.8.2DataSource接口 22.8.3执行SQL语句 22.8.4执行查询 22.8.5更新数据库 22.9集成Hibernate 22.9.1简介 22.9.2在Spring的ApplicationContext中创建SessionFactory 22.9.3使用HibernateTemplate 22.9.4使用HibernateDaoSupport类 22.9.5使用编程式的事务 22.9.6使用声明式的事务 22.10小结 第23章Spring2.5实战inMyEclipse23.1环境介绍 23.1.1插件的下载与安装 23.1.2创建Spring工程 23.1.3利用向导创建Spring的Bean 23.1.4其他支持 23.2代码说明 23.2.1在Spring中给Hibernate配置数据源 23.2.2持久化类和映射文件 23.2.3DAO类 23.2.4添加事务管理 23.3测试 23.4小结 目录5 Struts2+Spring2.5+Hibernate3实例第24章使用Struts+Hibernate+Spring24.1概述 24.1.1系统功能预览 24.1.2系统结构 24.1.3所需资源 24.1.4源代码目录组织 24.2给Web服务器配置web.xml 24.2.1添加Struts2配置 24.2.2添加Spring配置 24.2.3定义编码转化器(解决中文问题) 24.2.4定义Log的输出 24.3用Struts2实现Web表现层 24.3.1Struts的配置文件 24.3.2图书管理的Action类 24.3.3在添加图书中采用自动校验 24.3.4使用标签实现图书维护页面 24.4用Hibernate实现数据层 24.4.1创建数据库 24.4.2配置数据源 24.4.3持久化类和映射文件 24.4.4实现图书管理和登录管理的DAO类 24.5Spring整合业务层 24.5.1配置Bean文件 24.5.2实现业务类 24.5.3保存图书中的事务管理 24.5.4浏览图书的分页处理 24.6发布与测试 24.6.1在MyEclipse中发布应用 24.6.2在Tomcat中查看运行结果 24.7小结 …… |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。