1.常用的报表技术
1.POI报表,针对业务需要,将数据分析统计,生成excel文件
2.JasperReport 生成pdf、html 报表
3.itext 生成pdf 格式报表
4.jfreeChart :图表技术 (饼图、 柱状图 )
amcharts:支持柱状图、条形图、线形图、面积图、烛台图、雷达等基本图形
2.主流权限框架
1.Sping security权限框架
必须要和spring一起使用,繁琐复杂
2.Apache shiro权限框架
可以单独使用,轻量简单易用
3.常用远程调用技术
█RMI
RMI是Java首选远程调用协议,非常高效稳定,特别是在数据结构复杂,数据量大的情况下,与其他通讯协议的差距尤为明显。但不能跨语言。
█HttpInvoker
HttpInvoker使用java的序列化技术传输对象,与RMI在本质上是一致的。从效率上看,两者也相差无几,HttpInvoker与RMI的传输时间基本持平。
█Hessian
Hessian在传输少量对象时,比RMI还要快速高效,但传输数据结构复杂的对象或大量数据对象时,较RMI要慢20%左右。但这只是在数据量特别大,数据结构很复杂的情况下才能体现出来,中等或少量数据时,Hessian并不比RMI慢。Hessian的好处是精简高效,可以跨语言使用,而且协议规范公开。
(基于binary-RPC协议,传输的是二进制数据,传输效率比xml高)
阿里巴巴开源框架Dubbo,底层使用的就是hessian。
█Burlap
采用xml格式传输。仅在传输1条数据时速度尚可,通常情况下,它的耗时是RMI的3倍。
█WebService
效率低下是众所周知的,平均来看,WebService的通讯耗时是RMI的10倍。
通讯效率测试结果:
RMI>Httpinvoker>=Hessian>>Burlap>>Webservice
另一套远程调用常用架构:DWR(服务器端Ajax框架) + WebService
效果可以在js 直接调用java方法
js: var customers = customerService.findNoAssociationCustomers();
参考博客:点击打开链接
5.常用的优化方法
1、 SQL语法优化
2、 表结构优化 (DBA ) --- 水平分离,垂直分离,读写分离
①读写分离简单的说是把对数据库读和写的操作分开对应不同的数据库服务器
② 水平切分所指的是通过一系列的切分规则将数据水平分布到不同的DB或table中 (数据库有10000000 数据, 每1000000数据放入新的数据库 )
③ 垂直切分指的是按业务、产品切分,将不同类型的数据切分到不同的服务器上,通过数据库代理疏通程序与多个数据库的通讯、降低应用的复杂度
3、 索引优化 --- 全文检索 Lucene
4、 缓存优化 Ehcache
6.日志技术扩展: Log4j 日志框架的使用
常用日志 框架
█ JDK Logging (JDK 自带日志实现 )
SEVERE(最高值)
WARNING
INFO
CONFIG
FINE
FINER
FINEST(最低值)
█ Apache Log4j (Apache 日志著名框架)
日志提供 六种级别 (高-- 低)
Fatal、Error、Warn、Info、Debug、Trace
█ Apache Commons-Logging (通用日志接口)
█ Slf4J (Simple Logging Façade For Java) 简单日志门面
JDK Logging 、 Log4j 更像是日志实现技术
Apache Commons-Logging、Slf4J 统一各种日志实现接口 通用接口 (都支持和 JDKLogging 、log4j 整合使用 )
4、 JDKLogging 或者 Log4j 在项目开发中 通常只使用一种
JDK Logging 配置文件 logging.properties
Log4j 配置文件 log4j.properties 或者 log4j.xml
5、关于log4j 配置
记录器配置
log4j.rootLogger=debug, stdout
log4j.rootLogger 默认日志记录 = 级别, 输出源, 输出源…
输出源
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 向控制台输出
log4j.appender.file=org.apache.log4j.FileAppender 向文件输出
stdout和file 是输出源名称
日志系统,只会输出比设置级别更高级别的日志!!
企业中,项目开发和测试,使用 info 、debug ; 项目上线 error
7.JavaWEB常用技术总结
█Xml解析---WebService传输之前,先将对象转换xml字符串(Dom4j、Digester、Xstream)
█JBPM工作流程定制场景:jpdl.xml(修改原来流程,添加节点?)
RepositoryService.getResourceAsStream将xml读取到内存,使用xml解析生成技术,向内存dom树,添加节点,将节点回写数据表
█Tomcatgzip压缩实现,提供响应速度,缓存相关头信息(禁止缓存),referer统计站点请求来源
█Session购物车、Cookie保存用户名密码、自动登陆
█验证码技术、令牌防止重复提交
█Freemarker模板引擎(JSP就是Servlet生成内容,直接返回客户端---Filter)在网站使用(新闻、电商、帖子)
█监听器:在线用户人数,踢人
█监听器:定时任务Timer、TimerTask(每月某天凌晨12点,给客户发送账单)---Quartz
█JavaMail:激活邮件、通知邮件、生日邮件
█自定义标签(实现负责页面控制效果)
将form表单数据转换为js对象格式,加载到数据表格中。jquery提供了两个转换方法
1.serialize()
2.serializearray()
serialize():将表单数据转换为Http请求的字符串。
serializearray():将表单数据转存到数组。
8.异常处理
如何处理异常
可以使用异常拦截器。当发生异常时,将异常信息封装到struts2值栈中,在页面给出提示信息。
1.编写拦截器类
public class BosExceptionInterceptor extends AbstractInterceptor {
//声明日志记录器
private static final Logger log = Logger.getLogger(BosExceptionInterceptor.class);
@Override
public String intercept(ActionInvocation invocation) throws Exception {
try {
//调用正常业务逻辑代码
return invocation.invoke();
} catch (Exception e) {
//发生异常
e.printStackTrace();
//将异常信息记录到日志文件 log4j 日志技术
log.error(e.getMessage(), e);
//将错误信息提示给用户
Map<String, String> map = new HashMap<String, String>();
map.put("success", "false"); // 操作结果
map.put("msg", e.getMessage()); // 错误信息
//将错误信息放入值栈
ActionContext.getContext().put("result", map);
return "error";
}
}
}
2.配置拦截器
与struts2中自定义拦截器配置方式一样。但注意
异常拦截器要放在其它拦截器之前。
3.页面给出提示
onComplete: function(response){
if(response == ""){
// 未发生异常
$.messager.alert('导入成功', '文件上传导入成功', 'info');
}else{
// 发生异常
$.messager.alert('导入错误', response, 'error');
}
}
分享到:
相关推荐
"logistics_payment_1="+logistics_payment_1, "payment_type=" + payment_type }; //进行排序; string[] Sortedstr = BubbleSort(Oristr); //构造待md5摘要字符串 ; StringBuilder prestr = new ...
summary(fit) # 查看模型摘要 plot(fit) # 可视化后验分布 ``` 以上代码示例展示了如何在R中使用`brms`包进行贝叶斯Logistic回归。在实际应用中,需要根据具体的数据集和研究目标调整模型设置,包括选择适当的先验...
In summary, logistics is a complex and interconnected network of activities that ensure the seamless flow of goods from the point of origin to the point of consumption. It encompasses various aspects ...
##### Summary - **PlantSimulation for Warehousing and Logistics** 软件能够帮助用户快速创建动态仓储物流操作的真实模拟模型。它允许用户在实际执行前评估设计选项的特点和性能,从而做出更明智的决策,减少设计...
In summary, "产品型录-工业相机、工业镜头、光源、采集卡、数据线" represents a comprehensive resource for machine vision components, covering essential elements such as industrial cameras, lenses, light...
Objectives of This Presentation Logistics Information Systems UPS SCS IT Solutions 2003 Industry Standings of WMS “Current Hype” in Logistics Technology Opportunities in China Logistics... Summary
Linux Productivity ToolsKetan M. (km0@ornl.gov) Oak Ridge National Laboratory1LISA19 ...• Summary • Practice and Exercises (if time permits else Offline)2Part 1: Overview and Logistics3back to to
In summary, the white paper provides a comprehensive overview of how production flows and activities can be implemented in Microsoft Dynamics AX2012 to support lean manufacturing principles....
• Part 1: Overview and Logistics • Part 2: Basics • Part 3: Streams, pipe and redirection • Part 4: Classic Tools: find, grep, awk, sed • Part 5: Session Management: tmux • Part 6: ssh: config ...
R 语言提供了多种数据分析和数据可视化工具,如 summary() 函数用于生成数据摘要、ftable() 函数用于生成频率表、barplot() 函数用于绘制条形图等。这些工具可以根据实际情况进行选择和组合,以满足不同的数据分析和...