在线急等!!!下载附件问题.(txt格式)服务器为(weblogic)

MaWenWu281107072139 2009-12-26 03:40:00
请问各位大侠 为什么会出现如下问题?

附件下载后 附件内容如下:


圣诞节快乐(附件内容)

===================错误信息如下所示====================================
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title></title>
</head>
<body bgcolor=#dae7f8>

<a href="#" onClick="history.go(-1)">返回</a>

<h1>JSP页面异常信息</h1>
请求的URL:http://10.10.11.183:7001/test/jsp/workflow/downFile.jsp

异常类型:class java.io.IOException
<br>
异常描述:response already committed
<br>
异常堆栈:<br>
<pre>
java.io.IOException: response already committed
at weblogic.servlet.jsp.JspWriterImpl.clear(JspWriterImpl.java:56)
at jsp_servlet._jsp._workflow.__downfile._jspService(__downfile.java:266)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.jamonapi.JAMonFilter.doFilter(JAMonFilter.java:57)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at gap.authority.filter.FunOrgAuFilterServlet.doFilter(FunOrgAuFilterServlet.java:35)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at gap.authority.filter.FilterServlet.doFilter(FilterServlet.java:73)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at sgcc.global.util.LoginManager.doFilter(LoginManager.java:358)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at sgcc.global.util.LoginManager.doFilter(LoginManager.java:358)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at venus.frames.web.SetEncodingFilter.doFilter(SetEncodingFilter.java:33)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

</pre>
</body>
</html>

附件下载实现代码如下:

<%@ page contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<%@ include file="/jsp/include/global.jsp"%>
<%@ page import="venus.pub.util.Encode"%>
<%@ page import="java.io.*"%>
<%
String fileName = (String)request.getSession().getAttribute("fileName");
String path = (String)request.getSession().getAttribute("path");
path = Encode.decode(path); //解密
try {
FileInputStream oFIS = new FileInputStream((String) path);
response.reset();
response.setContentType("application/x-download; charset=GBK");
String guessCharset = request.getCharacterEncoding(); /*根据request的locale 得出可能的编码*/
fileName = new String(fileName.getBytes(guessCharset), "ISO8859-1");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);

ServletOutputStream oOs = response.getOutputStream();
DataOutputStream oDos = new DataOutputStream(oOs);
if (null != oFIS) {
int nLength;
byte[] abBuffer = new byte[1024];
while ((nLength = oFIS.read(abBuffer, 0, 1024)) > 0)
oDos.write(abBuffer, 0, nLength);
oOs.close();
oFIS.close();
oDos.close();
out.clear();
out = pageContext.pushBody();
}
} catch (FileNotFoundException e) {
response.getWriter().println(
"<title>错误</title><center><br><br><br>找不到您所指定的文件,该文件有可能被删除,请与系统管理员联系。<br><input type='button' value='返回' onclick='history.go(-1)'/> <input type='button' value='关闭' onclick='window.close()'/></center>");
}
%>



附件列表:

<layout:collectionItem width="20%" title="附件" style="text-align:center;">
<bean:define id="filename" name="rmBean" property="acc_name"/>
<bean:define id="target" name="rmBean" property="acc_url"/>
<%
if(target!=null&&!target.equals("")){
String path = target.toString();
request.getSession().removeAttribute("path");
request.getSession().setAttribute("path",Encode.encode(path));
request.getSession().removeAttribute("fileName");
request.getSession().setAttribute("fileName",filename.toString());
%>
<a href="<%=request.getContextPath()%>附件URL地址信息" target="_parent" title="<%=filename.toString()%>">
<%=(filename.toString().length()>6?filename.toString().substring(0,6)+"......":filename.toString())%>
</a>
<%} %>
</layout:collectionItem>
...全文
268 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinalixiaojiang 2010-08-26
  • 打赏
  • 举报
回复
楼主怎么解决的?我也遇到这个问题了。和你的一模一样。
yfbf230 2010-05-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 mawenwu281107072139 的回复:]
谢谢各位了啊 问题解决了!
[/Quote]

怎么解决的 楼主分享下哈
  • 打赏
  • 举报
回复
谢谢各位了啊 问题解决了!
tangwei070 2009-12-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 crazylaa 的回复:]
out = pageContext.pushBody();
后面再加句:out.flush();看看
[/Quote]

支持
yangchao0618 2009-12-28
  • 打赏
  • 举报
回复
是不是数据很大
啊:
如果数据很大:
都是先在本地生成TXT文件
注意生成的时候写一部分然后 再清空流媒体的
再进行读取写
这样可以不至于你机器死掉
然后再把本地生成的文件发过去
就行
yangbing694383929 2009-12-26
  • 打赏
  • 举报
回复
jf
crazylaa 2009-12-26
  • 打赏
  • 举报
回复
out = pageContext.pushBody();
后面再加句:out.flush();看看
zl3450341 2009-12-26
  • 打赏
  • 举报
回复
zl3450341 2009-12-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 crazylaa 的回复:]
把这几个的定义放在try上面=null,try里面去初始化,在finally里面关,
oOs.close();
oFIS.close();
oDos.close();

试试看?
[/Quote]

应该不是这里的问题吧
放到finally里面关闭
crazylaa 2009-12-26
  • 打赏
  • 举报
回复
把这几个的定义放在try上面=null,try里面去初始化,在finally里面关,
oOs.close();
oFIS.close();
oDos.close();

试试看?
道光2008 2009-12-26
  • 打赏
  • 举报
回复
参考:后来把jsp的文件头换了一下就能打开一部分了,只是第一次还是很慢~不知道有没有关系。


<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
</head>
jabeginner 2009-12-26
  • 打赏
  • 举报
回复
是不是页面 forward跳转或者buffer size不够了
NTKO附件管理控件(多文件上传下载在线编辑扫描控件)是拥有完全独立知识产权的多附件上传控件.使用NTKO附件管理控件[多文件上传控件],能够在浏览器中启动原始文件对应的应用程序,对图像文件,OFFICE文件,文本文件,AUTOCAD等任何文件进行编辑,打印,扫描,阅读,并保存到Web服务器。实现文档的方便编辑和统一管理。支持拖放,修改提示保存,多线程下载上传,多种视图模式,智能提交等多种特性。 http://www.ntko.com在线演示展示了NTKO 附件管理控件常用功能。该技术能让您更简单快速的将控件集成到您的产品中。 NTKO附件管理控件支持包括DOMINO在内的IIS,Websphere,Apache等所有后台WEB服务器和支持PHP,ASP,JSP,C#,VB.NET,DOMINO等各种web编程语言。并且可以在浏览器中通过JScript或者VBScrip使用控件提供的属性和方法控制文档操作。在DOMINO中,比INOTES使用更加方便快捷。集成程度更好。 详细功能列表: 1、 平台支持功能 ★ 支持多种后台web服务器和开发语言 支持DOMINO,IIS,WebLogic,Apache等多种后台web服务器和ASP,JSP,C#,VB.NET,PHP等多种后台开发语言。在任何后台web服务器都无需后台安装特别的组件或者软件。 ★ 与DOMINO服务器无缝集成 无需后台组件,和DOMINO服务器可无缝集成。比INOTES使用更加方便,开发更加快捷。 2、 网络及协议功能支持 ★ 支持智能提交 控件使用我们独创的智能提交技术,支持将附件文件和开发者指定的FORM中的数据一次性上传到服务器。 ★ 多线程上传下载,性能更高 控件完全采用多线程方式上传下载,可以更好的改善用户体验,达到更高性能。 ★ 支持UTF-8网页编码 通过IsUseUTF8Data属性,可以支持UTF-8编码网页的智能提交 ★ 支持网络缓冲大小自定义 自适应的网络传输速度,并且在特殊网络中允许用户自定义网络传输缓冲的大小 ★ 支持HTTP协议,HTTPS OVER SSL协议 对HTTPS协议的支持使得可以创建更加安全的应用。并且自动支持Session Cookie。使用当前页面的Session Cookie和服务器进行交互。 3、 界面行为支持 ★ 支持鼠标拖放 用户可以通过拖放增加本地文件到控件中,或者通过拖放从控件中拖放文件到本地资源管理器或者其他支持拖放的应用程序。 ★ 支持多种视图模式 支持大图标,小图标,详细信息显示等多种模式。支持多种排序方式。 ★ 支持自定义工具栏 通过附件提供的事件和方法,用户可以自定义工具栏执行调用。 ★ 支持直接编辑文件 用户可双击附件直接打开编辑,或者使用右键菜单选择打开或者打印,系统自动下载到临时目录并执行相关操作。 ★ 支持提示文件修改 如果下载到本地的文件被修改,控件自动提示并可以保存回服务器。 ★ 支持编辑,打开,打印等多种操作方式L 可对附件进行编辑,打开,打印,打开文件夹,查看属性等多种操作。 4、 编程支持 ★ 支持简洁高效的编程接口 可使用Javascript和VBScript对控件进行编程。 ★ 支持自定义列,并且可以隐藏预定义的某些列 控件支持最多5个自定义列。让开发者能够有更多的控制。 ★ 支持设定自定义用户数据并显示 控件可以为自定义列设定自定义的用户数据并显示。并且能够自动排序。 ★ 支持过滤文件大小,文件总数量,以及文件类型 通过控件的BeforeFileAdded事件,用户可以限定允许添加到控件的文件类型,大小,以及数量。 ★ 支持多个事件 通过控件选择文件,添加文件之前,选择数量变化等多个事件,用户可以对控件实施更多控制 5、 安全及其他支持 ★ 安全可靠 系统不会自动增加未经用户授权的文件。在打开可执行文件时会自动提示警告。 ★ 支持直接从扫描仪输入文件[需要购买扫描支持模块] 通过AddFromScanner方法,控件支持从扫描仪中直接扫描图片到控件中。[需要购买扫描支持模块]
服务器指标要求: 附件: 经济普查数据处置惩罚软硬件情况要求 服务器指标要求:全文共10页,当前为第1页。一、国度级数据处置惩罚小型机技能要求 服务器指标要求:全文共10页,当前为第1页。 配置和性能指标要求 CPU CPU类型:RISC铜芯片 CPU字长:64 bits *CPU实配: 16个 *CPU最大可扩展: 32个 *CPU主频: 接纳投标机型截止供货时间为止最高主频 *Cache :L1>=1.5MB,及L2以上>=16MB *TPC-C最大可到达 400,000tpm *SPECjbb2000实配值: 240,000 *SPECjbb2000最大可到达 480,000 内存 *内存实配 32GB,CPU数量与内存容量GB比例为1:2 磁盘 *内置磁盘容量 73GBx2;实现内置磁盘镜像 DVD及磁带机 DVD-ROM:1台 DDS磁带机:1台,DDS4,20/40GB容量 网络及存储接口 *网络接口: 1000M以太网口 2(光纤),10/100M以太网口 2(双绞线) *存储接口: 2Gbps FC接口 2 UNIX操纵系统 运行HP-UX 11i操纵系统 用户数 :无限 宁静性: C2级 支持常用的步伐语言 支持TCP/IP等网络尺度 用户界面:图形用户界面 中文:支持中文字符集与内码 C语言开发包 磁盘镜像软件 *实现内置磁盘镜像,支持内置磁盘热插拔 系统性能监控与诊断东西 1)能以图形化实时显示系统的CPU、内存、磁盘与网络资源等的资源使用情况,实现如下监控功效: CPU:多处置惩罚器系统中每个处置惩罚器的CPU使用率、CPU运行的行列长度、系统呼唤次数以及中断及情况互换机的操纵频率; 内存: 系统与用户进程对可用物理内存的使用率; 应用:应用的CPU、I/O与虚拟内存使用率、每个应用的进程数量、运动进程数量与主要错误; 每个进程:关于CPU、磁盘、内存使用率与开放文件的详细信息。 2)利用阈值报警来进行治理。 其他要求 支持物理分区 集群系统所必须的连接部件 全部相关缆线及系统接口卡 产业尺度键盘及系统控制台 原厂机柜及机柜安装的全部相关配件 N+1冗余及热插拔电源及电扇 服务器指标要求:全文共10页,当前为第2页。磁盘阵列技能指标: 服务器指标要求:全文共10页,当前为第2页。 指标项 技能规格 根本要求 支持SAN技能,内置备份电池,确保与办事器和光纤通道互换机的连接接口和信号线 接口 全光纤(包罗磁盘接口),光纤通道数量>=2,速率>=200 MB/s 配置容量 >=15个标配热插拔硬盘,单盘容量>=72GB 硬盘平均寻址时间 硬盘接口 接纳光纤通道接口,端口速率>=200MB/s 硬盘转速 >=10000 rpm 可配置能力 >=40块硬盘 控制器 双控制器或以上 控制器缓存 单控制器配置高速缓存>=1GB 单控制器高速缓存最大可扩充值>=2GB 支持类型 RAID 0+1,5或更好 高可靠性 热插拔调换电源、电扇、磁盘驱动器组和阵列控制器,N+1冗余电源、电扇 线缆长度 >=15m 质量认证 ISO9000认证 兼容性 支持IBM、HP、SUN等厂商的主机办事器系统、兼容SAN软硬件 光纤互换机: 指标项 技能规格 光纤通道互换机端口数量 >=8 端口类型 FC-SW,每端口速率>=200MB/s 治理软件 提供高可用性治理软件 可治理性 支持TELNET,WEB,SNMP等 二、国度级数据处置惩罚软件情况要求 BEA Weblogic Server 8.1 Premium Edition BEA Tuxedo 8.1 Edition 服务器指标要求:全文共10页,当前为第3页。Oracle 9i企业版本 服务器指标要求:全文共10页,当前为第3页。 省级数据处置惩罚小型机技能指标: 服务器指标要求:全文共10页,当前为第4页。(可选配置1): 服务器指标要求:全文共10页,当前为第4页。 配置和性能指标要求 CPU CPU类型:RISC铜芯片 CPU字长:64 bits *CPU实配: 8个 *CPU最大可扩展: 16个 *CPU主频:接纳该机型当前最高主频 *Cache :L1>=1.5MB及L2>=32MB *TPC-C最大可到达 240,000tpm *SPECjbb2000实配值: 130,000 *SPECjbb2000最大可到达 260,000 内存 *内存实配 16GB,CPU数量与内存容量GB比例为1:2 磁盘 *内置磁盘容量 73GBx4;实现内置磁盘镜像 DVD及磁带机 DVD-ROM:1台 DDS磁带机:1台,DDS4,20/40GB容量 网络及存储接口 *网络接口: 1000M以太网口 2(光纤),10/100M以太网口 2(双绞线) *存储接口: 2Gbps FC
1. 简介 1.1. 概览 1.2. 使用场景 2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 2.7.1. 一些变化 2.7.1.1. Jar包 2.7.1.2. XML配置 2.7.1.3. Deprecated的类和方法 2.7.1.4. Apache OJB 2.7.1.5. iBatis 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. 控制反转容器 3.1. 简介 3.2. 容器和bean的基本原理 3.2.1. 容器 3.2.1.1. 配置元数据 3.2.2. 实例化容器 3.2.2.1. 组成基于XML配置元数据 3.2.3. 多种bean 3.2.3.1. 命名bean 3.2.3.2. 实例化bean 3.2.4. 使用容器 3.3. 依赖 3.3.1. 注入依赖 3.3.1.1. Setter注入 3.3.1.2. 构造器注入 3.3.1.3. 一些例子 3.3.2. 构造器参数的解析 3.3.2.1. 构造器参数类型匹配 3.3.2.2. 构造器参数的索引 3.3.3. bean属性及构造器参数详解 3.3.3.1. 直接量(基本类型、Strings类型等。) 3.3.3.2. 引用其它的bean(协作者) 3.3.3.3. 内部bean 3.3.3.4. 集合 3.3.3.5. Nulls 3.3.3.6. XML-based configuration metadata shortcuts 3.3.3.7. 组合属性名称 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.6.1. 设置Bean使自动装配失效 3.3.7. 依赖检查 3.3.8. 方法注入 3.3.8.1. Lookup方法注入 3.3.8.2. 自定义方法的替代方案 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. Prototype作用域 3.4.3. 其他作用域 3.4.3.1. 初始化web配置 3.4.3.2. Request作用域 3.4.3.3. Session作用域 3.4.3.4. global session作用域 3.4.3.5. 作用域bean与依赖 3.4.4. 自定义作用域 3.5. 定制bean特性 3.5.1. Lifecycle接口 3.5.1.1. 初始化回调 3.5.1.2. 析构回调 3.5.2. 了解自己 3.5.2.1. BeanFactoryAware 3.5.2.2. BeanNameAware 3.6. bean定义的继承 3.7. 容器扩展点 3.7.1. 用BeanPostProcessor定制bean 3.7.1.1. 使用BeanPostProcessor的Hello World示例 3.7.1.2. RequiredAnnotationBeanPostProcessor示例 3.7.2. 用BeanFactoryPostProcessor定制配置元数据 3.7.2.1. PropertyPlaceholderConfigurer示例 3.7.2.2. PropertyOverrideConfigurer示例 3.7.3. 使用FactoryBean定制实例化逻辑 3.8. ApplicationContext 3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.9.1. 使用Singleton-helper类 4. 资源 4.1. 简介 4.2. Resource 接口 4.3. 内置 Resource 实现 4.3.1. UrlResource 4.3.2. ClassPathResource 4.3.3. FileSystemResource 4.3.4. ServletContextResource 4.3.5. InputStreamResource 4.3.6. ByteArrayResource 4.4. ResourceLoader 4.5. ResourceLoaderAware 接口 4.6. 把Resource作为属性来配置 4.7. Application context 和Resource 路径 4.7.1. 构造application context 4.7.1.1. 创建 ClassPathXmlApplicationContext 实例 - 简介 4.7.2. Application context构造器中资源路径的通配符 4.7.2.1. Ant风格的pattern 4.7.2.2. classpath*: 前缀 4.7.2.3. 其他关于通配符的说明 4.7.3. FileSystemResource 提示 5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 5.4.2.1. 注册用户自定义的PropertyEditor 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. Spring的AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 6.2.2. 声明一个切面 6.2.3. 声明一个切入点(pointcut) 6.2.3.1. 切入点指定者的支持 6.2.3.2. 合并切入点表达式 6.2.3.3. 共享常见的切入点(pointcut)定义 6.2.3.4. 示例 6.2.4. 声明通知 6.2.4.1. 前置通知(Before advice) 6.2.4.2. 返回后通知(After returning advice) 6.2.4.3. 抛出后通知(After throwing advice) 6.2.4.4. 后通知(After (finally) advice) 6.2.4.5. 环绕通知(Around Advice) 6.2.4.6. 通知参数(Advice parameters) 6.2.4.7. 通知(Advice)顺序 6.2.5. 引入(Introductions) 6.2.6. 切面实例化模型 6.2.7. 例子 6.3. Schema-based AOP support 6.3.1. 声明一个切面 6.3.2. 声明一个切入点 6.3.3. 声明通知 6.3.3.1. 通知(Advice) 6.3.3.2. 返回后通知(After returning advice) 6.3.3.3. 抛出异常后通知(After throwing advice) 6.3.3.4. 后通知(After (finally) advice) 6.3.3.5. 通知 6.3.3.6. 通知参数 6.3.3.7. 通知顺序 6.3.4. 引入 6.3.5. 切面实例化模型 6.3.6. Advisors 6.3.7. 例子 6.4. AOP声明风格的选择 6.4.1. Spring AOP还是完全用AspectJ? 6.4.2. Spring AOP中使用@AspectJ还是XML? 6.5. 混合切面类型 6.6. 代理机制 6.7. 编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. 便利的切入点实现 7.2.4.1. 静态切入点 7.2.4.2. 动态切入点 7.2.5. 切入点的基类 7.2.6. 自定义切入点 7.3. Spring的通知API 7.3.1. 通知的生命周期 7.3.2. Spring里的通知类型 7.3.2.1. 拦截around通知 7.3.2.2. 前置通知 7.3.2.3. 异常通知 7.3.2.4. 后置通知 7.3.2.5. 引入通知 7.4. Spring里的advisor(Advisor) API 7.5. 使用ProxyFactoryBean创建AOP代理 7.5.1. 基础 7.5.2. JavaBean属性 7.5.3. 基于JDK和CGLIB的代理 7.5.4. 对接口进行代理 7.5.5. 对类进行代理 7.5.6. 使用“全局”advisor 7.6. 简化代理定义 7.7. 使用ProxyFactory通过编程创建AOP代理 7.8. 操作被通知对象 7.9. 使用“自动代理(autoproxy)”功能 7.9.1. 自动代理bean定义 7.9.1.1. BeanNameAutoProxyCreator 7.9.1.2. DefaultAdvisorAutoProxyCreator 7.9.1.3. AbstractAdvisorAutoProxyCreator 7.9.2. 使用元数据驱动的自动代理 7.10. 使用TargetSources 7.10.1. 热交换目标源 7.10.2. 池化目标源 7.10.3. 原型目标源 7.10.4. ThreadLocal目标源 7.11. 定义新的通知类型 7.12. 更多资源 8. 测试 8.1. 简介 8.2. 单元测试 8.3. 集成测试 8.3.1. Context管理和缓存 8.3.2. 测试fixture的依赖注入 8.3.3. 事务管理 8.3.4. 方便的变量 8.3.5. 示例 8.3.6. 运行集成测试 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源同步的事务 9.4.1. 高层次方案 9.4.2. 低层次方案 9.4.3. TransactionAwareDataSourceProxy 9.5. 声明式事务管理 9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 9.5.7. 插入事务操作 9.5.8. 结合AspectJ使用 @Transactional 9.6. 编程式事务管理 9.6.1. 使用 TransactionTemplate 9.6.2. 使用 PlatformTransactionManager 9.7. 选择编程式事务管理还是声明式事务管理 9.8. 与特定应用服务器集成 9.8.1. BEA WebLogic 9.8.2. IBM WebSphere 9.9. 公共问题的解决方案 9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构 11.2. 利用JDBC核心类实现JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.3. 控制数据库连接 11.3.1. DataSourceUtils类 11.3.2. SmartDataSource接口 11.3.3. AbstractDataSource类 11.3.4. SingleConnectionDataSource类 11.3.5. DriverManagerDataSource类 11.3.6. TransactionAwareDataSourceProxy类 11.3.7. DataSourceTransactionManager类 11.4. 用Java对象来表达JDBC操作 11.4.1. SqlQuery类 11.4.2. MappingSqlQuery类 11.4.3. SqlUpdate类 11.4.4. StoredProcedure类 11.4.5. SqlFunction类 12. 使用ORM工具进行数据访问 12.1. 简介 12.2. Hibernate 12.2.1. 资源管理 12.2.2. 在Spring的application context中创建 SessionFactory 12.2.3. HibernateTemplate 12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意点 12.3. JDO 12.3.1. 建立PersistenceManagerFactory 12.3.2. JdoTemplate和JdoDaoSupport 12.3.3. 基于原生的JDO API实现DAO 12.3.4. 事务管理 12.3.5. JdoDialect 12.4. Oracle TopLink 12.4.1. SessionFactory 抽象层 12.4.2. TopLinkTemplate 和 TopLinkDaoSupport 12.4.3. 基于原生的TopLink API的DAO实现 12.4.4. 事务管理 12.5. iBATIS SQL Maps 12.5.1. iBATIS 1.x和2.x的概览与区别 12.5.2. iBATIS SQL Maps 1.x 12.5.2.1. 创建SqlMap 12.5.2.2. 使用 SqlMapTemplate 和 SqlMapDaoSupport 12.5.3. iBATIS SQL Maps 2.x 12.5.3.1. 创建SqlMapClient 12.5.3.2. 使用 SqlMapClientTemplate 和 SqlMapClientDaoSupport 12.5.3.3. 基于原生的iBATIS API的DAO实现 12.6. JPA 12.6.1. 在Spring环境中建立JPA 12.6.1.1. LocalEntityManagerFactoryBean 12.6.1.2. LocalContainerEntityManagerFactoryBean 12.6.1.3. 处理多个持久化单元 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的JPA实现DAO 12.6.4. 异常转化 12.6.5. 事务管理 12.6.6. JpaDialect III. Web 13. Web框架 13.1. 介绍 13.1.1. 与其他web框架的集成 13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 13.4. 处理器映射(handler mapping) 13.4.1. BeanNameUrlHandlerMapping 13.4.2. SimpleUrlHandlerMapping 13.4.3. 拦截器(HandlerInterceptor) 13.5. 视图与视图解析 13.5.1. 视图解析器 13.5.2. 视图解析链 13.5.3. 重定向(Rediret)到另一个视图 13.5.3.1. RedirectView 13.5.3.2. redirect:前缀 13.5.3.3. forward:前缀 13.6. 本地化解析器 13.6.1. AcceptHeaderLocaleResolver 13.6.2. CookieLocaleResolver 13.6.3. SessionLocaleResolver 13.6.4. LocaleChangeInterceptor 13.7. 使用主题 13.7.1. 简介 13.7.2. 如何定义主题 13.7.3. 主题解析器 13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 13.9.3. input标签 13.9.4. checkbox标签 13.9.5. radiobutton标签 13.9.6. password标签 13.9.7. select标签 13.9.8. option标签 13.9.9. options标签 13.9.10. textarea标签 13.9.11. hidden标签 13.9.12. errors标签 13.10. 处理异常 13.11. 惯例优先原则(convention over configuration) 13.11.1. 对控制器的支持: ControllerClassNameHandlerMapping 13.11.2. 对模型的支持:ModelMap (ModelAndView) 13.11.3. 对视图的支持: RequestToViewNameTranslator 13.12. 其它资源 14. 集成视图技术 14.1. 简介 14.2. JSP和JSTL 14.2.1. 视图解析器 14.2.2. 'Plain-old' JSPs versus JSTL 'Plain-old' JSP与JSTL 14.2.3. 帮助简化开发的额外的标签 14.3. Tiles 14.3.1. 需要的资源 14.3.2. 如何集成Tiles 14.3.2.1. InternalResourceViewResolver 14.3.2.2. ResourceBundleViewResolver 14.4. Velocity和FreeMarker 14.4.1. 需要的资源 14.4.2. Context 配置 14.4.3. 创建模板 14.4.4. 高级配置 14.4.4.1. velocity.properties 14.4.4.2. FreeMarker 14.4.5. 绑定支持和表单处理 14.4.5.1. 用于绑定的宏 14.4.5.2. 简单绑定 14.4.5.3. 表单输入生成宏 14.4.5.4. 重载HTML转码行为并使你的标签符合XHTML 14.5. XSLT 14.5.1. 写在段首 14.5.1.1. Bean 定义 14.5.1.2. 标准MVC控制器代码 14.5.1.3. 把模型数据转化为XML 14.5.1.4. 定义视图属性 14.5.1.5. 文档转换 14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.6.2.1. 文档视图定义 14.6.2.2. Controller 代码 14.6.2.3. Excel视图子类 14.6.2.4. PDF视图子类 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.2.1. 配置ViewResolver 14.7.2.2. 配置View 14.7.2.3. 关于报表文件 14.7.2.4. 使用 JasperReportsMultiFormatView 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.4.1. 配置子报表文件 14.7.4.2. 配置子报表数据源 14.7.5. 配置Exporter的参数 15. 集成其它Web框架 15.1. 简介 15.2. 通用配置 15.3. JavaServer Faces 15.3.1. DelegatingVariableResolver 15.3.2. FacesContextUtils 15.4. Struts 15.4.1. ContextLoaderPlugin 15.4.1.1. DelegatingRequestProcessor 15.4.1.2. DelegatingActionProxy 15.4.2. ActionSupport 类 15.5. Tapestry 15.5.1. 注入 Spring 托管的 beans 15.5.1.1. 将 Spring Beans 注入到 Tapestry 页面中 15.5.1.2. 组件定义文件 15.5.1.3. 添加抽象访问方法 15.5.1.4. 将 Spring Beans 注入到 Tapestry 页面中 - Tapestry 4.0+ 风格 15.6. WebWork 15.7. 更多资源 16. Portlet MVC框架 16.1. 介绍 16.1.1. 控制器 - MVC中的C 16.1.2. 视图 - MVC中的V 16.1.3. Web作用范围的Bean 16.2. DispatcherPortlet 16.3. ViewRendererServlet 16.4. 控制器 16.4.1. AbstractController和PortletContentGenerator 16.4.2. 其它简单的控制器 16.4.3. Command控制器 16.4.4. PortletWrappingController 16.5. 处理器映射 16.5.1. PortletModeHandlerMapping 16.5.2. ParameterHandlerMapping 16.5.3. PortletModeParameterHandlerMapping 16.5.4. 增加 HandlerInterceptor 16.5.5. HandlerInterceptorAdapter 16.5.6. ParameterMappingInterceptor 16.6. 视图和它们的解析 16.7. Multipart文件上传支持 16.7.1. 使用PortletMultipartResolver 16.7.2. 处理表单里的文件上传 16.8. 异常处理 16.9. Portlet应用的部署 IV. 整合 17. 使用Spring进行远程访问与Web服务 17.1. 简介 17.2. 使用RMI暴露服务 17.2.1. 使用 RmiServiceExporter 暴露服务 17.2.2. 在客户端链接服务 17.3. 使用Hessian或者Burlap通过HTTP远程调用服务 17.3.1. 为Hessian配置DispatcherServlet 17.3.2. 使用HessianServiceExporter暴露你的bean 17.3.3. 客户端连接服务 17.3.4. 使用Burlap 17.3.5. 对通过Hessian或Burlap暴露的服务使用HTTP基础认证 17.4. 使用HTTP调用器暴露服务 17.4.1. 暴露服务对象 17.4.2. 在客户端连接服务 17.5. Web服务 17.5.1. 使用JAXI-RPC暴露服务 17.5.2. 访问Web服务 17.5.3. 注册bean映射 17.5.4. 注册自己的处理方法 17.5.5. 使用XFire来暴露Web服务 17.6. 对远程接口不提供自动探测 17.7. 在选择这些技术时的一些考虑 18. Enterprise Java Bean(EJB)集成 18.1. 简介 18.2. 访问EJB 18.2.1. 概念 18.2.2. 访问本地的无状态Session Bean(SLSB) 18.2.3. 访问远程SLSB 18.3. 使用Spring提供的辅助类实现EJB组件 19. JMS 19.1. 简介 19.2. 使用Spring JMS 19.2.1. JmsTemplate 19.2.2. 连接工厂 19.2.3. (消息)目的地管理 19.2.4. 消息侦听容器 19.2.4.1. SimpleMessageListenerContainer 19.2.4.2. DefaultMessageListenerContainer 19.2.4.3. ServerSessionMessageListenerContainer 19.2.5. 事务管理 19.3. 发送一条消息 19.3.1. 使用消息转换器 19.3.2. SessionCallback 和ProducerCallback 19.4. 接收消息 19.4.1. 同步接收 19.4.2. 异步接收 - 消息驱动的POJOs 19.4.3. SessionAwareMessageListener 接口 19.4.4. MessageListenerAdapter 19.4.5. 事务中的多方参与 20. JMX 20.1. 介绍 20.2. 输出bean到JMX 20.2.1. 创建一个MBeanServer 20.2.2. 复用现有的MBeanServer 20.2.3. MBean的惰性初始化 20.2.4. MBean的自动注册 20.2.5. 控制注册行为 20.3. 控制bean的管理接口 20.3.1. MBeanInfoAssembler 接口 20.3.2. 使用源码级元数据 20.3.3. 使用JDK 5.0注解 20.3.4. 源代码级的元数据类型 20.3.5. 接口AutodetectCapableMBeanInfoAssembler 20.3.6. 用Java接口定义管理接口 20.3.7. 使用MethodNameBasedMBeanInfoAssembler 20.4. 控制bean的 ObjectName 20.4.1. 从Properties中读取ObjectName 20.4.2. 使用 MetadataNamingStrategy 20.5. JSR-160连接器 20.5.1. 服务器端连接器 20.5.2. 客户端连接器 20.5.3. 基于Burlap/Hessian/SOAP的JMX 20.6. 通过代理访问MBeans 20.7. 通知 20.7.1. 为通知注册监听器 20.7.2. 发布通知 20.8. 更多资源 21. JCA CCI 21.1. 介绍 21.2. 配置CCI 21.2.1. 连接器配置 21.2.2. 在Spring中配置ConnectionFactory 21.2.3. 配置CCI连接 21.2.4. 使用一个 CCI 单连接 21.3. 使用Spring的 CCI访问支持 21.3.1. 记录转换 21.3.2. CciTemplate 类 21.3.3. DAO支持 21.3.4. 自动输出记录生成 21.3.5. 总结 21.3.6. 直接使用一个 CCI Connection 接口和Interaction接口 21.3.7. CciTemplate 使用示例 21.4. 建模CCI访问为操作对象 21.4.1. MappingRecordOperation 21.4.2. MappingCommAreaOperation 21.4.3. 自动输出记录生成 21.4.4. 总结 21.4.5. MappingRecordOperation 使用示例 21.4.6. MappingCommAreaOperation 使用示例 21.5. 事务 22. Spring邮件抽象层 22.1. 简介 22.2. Spring邮件抽象结构 22.3. 使用Spring邮件抽象 22.3.1. 可插拔的MailSender实现 22.4. 使用 JavaMail MimeMessageHelper 22.4.1. 创建一条简单的MimeMessage,并且发送出去 22.4.2. 发送附件和嵌入式资源(inline resources) 23. Spring中的定时调度(Scheduling)和线程池(Thread Pooling) 23.1. 简介 23.2. 使用OpenSymphony Quartz 调度器 23.2.1. 使用JobDetailBean 23.2.2. 使用 MethodInvokingJobDetailFactoryBean 23.2.3. 使用triggers和SchedulerFactoryBean来包装任务 23.3. 使用JDK Timer支持类 23.3.1. 创建定制的timers 23.3.2. 使用 MethodInvokingTimerTaskFactoryBean类 23.3.3. 打包:使用TimerFactoryBean来设置任务 23.4. SpringTaskExecutor抽象 23.4.1. TaskExecutor接口 23.4.2. 何时使用TaskExecutor接口 23.4.3. TaskExecutor类型 23.4.4. 使用TaskExecutor接口 24. 动态语言支持 24.1. 介绍 24.2. 第一个例子 24.3. 定义动态语言支持的bean 24.3.1. 公共概念 24.3.1.1. 元素 24.3.1.2. Refreshable bean 24.3.1.3. 内置动态语言源文件 24.3.1.4. 理解dynamic-language-backed bean context的构造器注入 24.3.2. JRuby beans 24.3.3. Groovy beans 24.3.4. BeanShell beans 24.4. 场景 24.4.1. Spring MVC控制器脚本化 24.4.2. Validator脚本化 24.5. 更多的资源 25. 注解和源代码级的元数据支持 25.1. 简介 25.2. Spring的元数据支持 25.3. 注解 25.3.1. @Required 25.3.2. Spring中的其它@Annotations 25.4. 集成Jakarta Commons Attributes 25.5. 元数据和Spring AOP自动代理 25.5.1. 基本原理 25.5.2. 声明式事务管理 25.5.3. 缓冲 25.5.4. 自定义元数据 25.6. 使用属性来减少MVC web层配置 25.7. 元数据属性的其它用法 25.8. 增加对额外元数据API的支持 A. XML Schema-based configuration A.1. Introduction A.2. XML Schema-based configuration A.2.1. Referencing the schemas A.2.2. The util schema A.2.2.1. A.2.2.2. A.2.2.3. A.2.2.4. A.2.2.5. A.2.2.6. A.2.3. The jee schema A.2.3.1. (simple) A.2.3.2. (with single JNDI environment setting) A.2.3.3. (with multiple JNDI environment settings) A.2.3.4. (complex) A.2.3.5. (simple) A.2.3.6. (complex) A.2.3.7. A.2.4. The lang schema A.2.5. The tx (transaction) schema A.2.6. The aop schema A.2.7. The tool schema A.2.8. The beans schema A.3. Setting up your IDE A.3.1. Setting up Eclipse A.3.2. Setting up IntelliJ IDEA A.3.3. Integration issues A.3.3.1. XML parsing errors in the Resin v.3 application server B. Extensible XML authoring B.1. Introduction B.2. Authoring the schema B.3. Coding a NamespaceHandler B.4. Coding a BeanDefinitionParser B.5. Registering the handler and the schema B.5.1. META-INF/spring.handlers B.5.2. META-INF/spring.schemas C. spring-beans-2.0.dtd D. spring.tld D.1. Introduction D.2. The bind tag D.3. The escapeBody tag D.4. The hasBindErrors tag D.5. The htmlEscape tag D.6. The message tag D.7. The nestedPath tag D.8. The theme tag D.9. The transform tag E. spring-form.tld E.1. Introduction E.2. The checkbox tag E.3. The errors tag E.4. The form tag E.5. The hidden tag E.6. The input tag E.7. The label tag E.8. The option tag E.9. The options tag E.10. The password tag E.11. The radiobutton tag E.12. The select tag E.13. The textarea tag F. Spring 2.0 开发手册中文化项目 F.1. 声明 F.2. 致谢 F.3. 参与人员及任务分配 F.4. Spring 2.0 正式版开发手册翻译说明 F.5. 项目历程 F.5.1. Spring 2.0 RC2 开发手册翻译项目 F.5.2. Spring 2.0 正式版开发手册翻译项目
服务器指标要求(2021整理) 附件: 经济普查数据处理软硬件环境要求 服务器指标要求(2021整理)全文共10页,当前为第1页。一、国家级数据处理小型机技术要求 服务器指标要求(2021整理)全文共10页,当前为第1页。 配置和性能指标要求 CPU CPU类型:RISC铜芯片 CPU字长:64 bits *CPU实配: 16个 *CPU最大可扩展: 32个 *CPU主频: 采用投标机型截止供货时间为止最高主频 *Cache :L1>=1.5MB,及L2以上>=16MB *TPC-C最大可到达 400,000tpm *SPECjbb2000实配值: 240,000 *SPECjbb2000最大可到达 480,000 内存 *内存实配 32GB,CPU数量与内存容量GB比例为1:2 磁盘 *内置磁盘容量 73GBx2;实现内置磁盘镜像 DVD及磁带机 DVD-ROM:1台 DDS磁带机:1台,DDS4,20/40GB容量 网络及存储接口 *网络接口: 1000M以太网口 2〔光纤〕,10/100M以太网口 2〔双绞线〕 *存储接口: 2Gbps FC接口 2 UNIX操作系统 运行HP-UX 11i操作系统 用户数 :无限 平安性: C2级 支持常用的程序语言 支持TCP/IP等网络标准 用户界面:图形用户界面 中文:支持中文字符集与内码 C语言开发包 磁盘镜像软件 *实现内置磁盘镜像,支持内置磁盘热插拔 系统性能监控与诊断工具 1〕能以图形化实时显示系统的CPU、内存、磁盘与网络资源等的资源使用情况,实现如下监控功能: CPU:多处理器系统中每个处理器的CPU使用率、CPU运行的队列长度、系统呼叫次数以及中断及环境交换机的操作频率; 内存: 系统与用户进程对可用物理内存的使用率; 应用:应用的CPU、I/O与虚拟内存使用率、每个应用的进程数量、活动进程数量与主要错误; 每个进程:关于CPU、磁盘、内存使用率与开放文件的详细信息。 2〕利用阈值报警来进行管理。 其他要求 支持物理分区 集群系统所必须的连接部件 全部相关缆线及系统接口卡 工业标准键盘及系统控制台 原厂机柜及机柜安装的全部相关配件 N+1冗余及热插拔电源及风扇 服务器指标要求(2021整理)全文共10页,当前为第2页。磁盘阵列技术指标: 服务器指标要求(2021整理)全文共10页,当前为第2页。 指标项 技术规格 根本要求 支持SAN技术,内置备份电池,确保与效劳器和光纤通道交换机的连接接口和信号线 接口 全光纤〔包括磁盘接口〕,光纤通道数量>=2,速率>=200 MB/s 配置容量 >=15个标配热插拔硬盘,单盘容量>=72GB 硬盘平均寻址时间 硬盘接口 采用光纤通道接口,端口速率>=200MB/s 硬盘转速 >=10000 rpm 可配置能力 >=40块硬盘 控制器 双控制器或以上 控制器缓存 单控制器配置高速缓存>=1GB 单控制器高速缓存最大可扩充值>=2GB 支持类型 RAID 0+1,5或更好 高可靠性 热插拔更换电源、风扇、磁盘驱动器组和阵列控制器,N+1冗余电源、风扇 线缆长度 >=15m 质量认证 ISO9000认证 兼容性 支持IBM、HP、SUN等厂商的主机效劳器系统、兼容SAN软硬件 光纤交换机: 指标项 技术规格 光纤通道交换机端口数量 >=8 端口类型 FC-SW,每端口速率>=200MB/s 管理软件 提供高可用性管理软件 可管理性 支持TELNET,WEB,SNMP等 二、国家级数据处理软件环境要求 BEA Weblogic Server 8.1 Premium Edition BEA Tuxedo 8.1 Edition 服务器指标要求(2021整理)全文共10页,当前为第3页。Oracle 9i企业版本 服务器指标要求(2021整理)全文共10页,当前为第3页。 省级数据处理小型机技术指标: 服务器指标要求(2021整理)全文共10页,当前为第4页。(可选配置1): 服务器指标要求(2021整理)全文共10页,当前为第4页。 配置和性能指标要求 CPU CPU类型:RISC铜芯片 CPU字长:64 bits *CPU实配: 8个 *CPU最大可扩展: 16个 *CPU主频:采用该机型当前最高主频 *Cache :L1>=1.5MB及L2>=32MB *TPC-C最大可到达 240,000tpm *SPECjbb2000实配值: 130,000 *SPECjbb2000最大可到达 260,000 内存 *内存实配 16GB,CPU数量与内存容量GB比例为1:2 磁盘 *内置磁盘容量 73GBx4;实现内置磁盘镜像 DVD及磁带机 DVD-ROM:1台 DDS磁带机:1台,DDS4,20/40GB容量 网络及存储接口 *网络接口:

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧