【Java EE 学习 80 上】【WebService】】的更多相关文章

一.WebService概述 什么是WebService,顾名思义,就是基于Web的服务,它使用Http方式接收和响应外部系统的某种请求,从而实现远程调用.WebService实际上就是依据某些标准,不关心对方使用的是何种语言,实现对外部其它应用程序提供跨平台.跨语言服务的一种技术. 使用WebService,我们可以调用互联网上查询天气信息的Web服务,然后将其嵌入到我们的程序中,当用户从我们的网点看到天气信息的时候,他会以为我们为他提供了很多的信息服务,但其实我们什么也没有做,只是简单调用了…
之前已经实现了数据的采集,现在已经有了基本的数据,下一步就需要使用这些数据实现统计图的绘制了.这里使用Jfreechart实现这些统计图的绘制.首先看一下Jfreechart的基本用法,只有知道了它的基本用法才有可能实现对更为复杂的统计图的绘制. 这里主要使用了它的三种绘制方式,绘制饼图.折线图和柱状图 源代码地址:https://github.com/kdyzm/day74_jfreechartDemo 一.准备工作 首先去官网下载相关jar包:http://www.jfree.org/jfr…
一.概述 1.使用的jdk版本:1.6 2.java EE版本:1.6 3.指导老师:传智播客 王建 二.小项目已经实现的功能 普通用户: 1.登陆 2.注册 3.购物 4.浏览 管理员用户(全部管理员): 1.登陆 2.角色管理 3.用户管理 4.图书分类 5.图书管理 6.图书商家 7.发货管理 三.项目截图 1.普通用户 (1)浏览(分类浏览,代码重用) 分类浏览: 单本书浏览: (2)普通用户登陆 (3)普通用户注册 (4)普通用户购物 浏览页面加入购物车: 详情页加入购物车 (5)查看…
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jdk命令wsimport生成调用源代码 package com.kdyzm.ws; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class MyWsServer { public Strin…
OA项目中有极大可能性使用到JBPM框架解决流程控制问题,比如请假流程.报销流程等等. JBPM:JBoss Business Process Management,翻译过来就是业务流程管理.实际上就是一个java 框架. 学习JBPM最重要的就是学习数据库中的18张表,只要熟练掌握了这18张表,学习JBPM就大功告成了. 一.JBPM框架搭建 1.到JBPM官方网站上下载需要的jar包.源代码.文档等等 http://www.jbpm.org/ 比较流行的JBPM版本是JBPM4.4,本次使用…
一.SpringMVC框架概述 什么是SpringMVC?SpringMVC是一个和Struts2差不多的东西,他们的作用和性质几乎是相同的,甚至开发效率上也差不多,但是在运行效率上SpringMVC要高于Struts2:注意这里的SpringMVC很明确的指明了使用了MVC框架,Struts2也使用了MVC框架. 1.环境准备 和之前使用的spring环境几乎是差不多的,但是需要增加两个核心包: org.springframework.web.servlet-3.0.0.RELEASE.jar…
一.Maven概述 1.什么是Maven? Maven中文意思是"行家"."专家",它是一种跨平台的项目管理工具. 2.Maven有什么作用? Maven能够实现基于Java平台的项目构建.依赖管理和项目信息管理. 3.什么是理想的项目构建? 高度自动化,跨平台,可重用组件,符合标准化的规范 4.什么是依赖,为什么要进行依赖管理? 自动下载,统一依赖管理,方便项目升级和修改 5.项目信息包括哪些内容? 项目名称描述.开发人员信息.开发者信息等. Maven官方下载地…
一.简介 mybatis类似于hibernate,都是简化对数据库操作的框架,但是和hibernate不同的是,mybatis更加灵活,整体来说框架更小,这体现在它需要我们手写SQL语句,而hibernate则将对数据库的操作对程序员完全透明了,程序员只需要按照面向对象的思想编写代码即可,想要看sql语句,就必须在配置文件中声明 <property name="show_sql">true</property> hibernate对数据库的操作封装的非常彻底,因…
一.需求分析 调查问卷中或许每一个单击动作都会引发大量的数据库访问,特别是在参与调查的过程中,只是单击“上一页”或者“下一页”的按钮就会引发大量的查询,必须对这种问题进行优化才行.使用缓存策略进行查询缓存是降低数据库压力非常理想的方法,这里最起码能够有两种缓存方式: 1.使用hibernate的二级缓存. 2.使用spring自带的缓存模块进行查询缓存.使用spring自带的缓存模块功能必须要满足一下条件: (1)spring版本必须至少在3.1或以上,这里使用了spring3.1 (2)必须要…
一.需求分析 日志数据在很多行业中都是非常敏感的数据,它们不能删除只能保存和查看,这样日志表就会越来越大,我们不可能永远让它无限制的增长下去,必须采取一种手段将数据分散开来.假设现在整个数据库需要保存的数据量比较少,但是只有日志表的数据量会很大,在这种情况下我们可以考虑使用分表策略分散保存日志数据. 针对当前系统来讲,可以这么做:每个月创建一张新表用于保存当月的日志数据.当然这只是初期的保存日志的思路. 1.解决问题的方法就是分表,那么什么时候创建新表呢? (1).如果服务器不关闭,假设一直处于…
一.角色管理 单击导航栏上的"角色管理"超链接,跳转到角色管理界面,在该界面上显示所有角色,并提供角色的增加和删除.修改超链接. 1.增加新角色(角色授权) 流程:单击增加新角色超链接->Action查询出所有的权限保存到值栈并转到添加新角色页面->填写表单并提交->Action保存表单->重定向到角色管理Action 技术点:表单提交的权限列表时一个整型数组,需要在Action中进行接收并调用相关方法转换成Rright列表:使用到了一些JQuery技术实现更友…
增加logo的技术点:文件上传,国际化 文件上传的功能在struts2中是使用文件上传拦截器完成的. 1.首先需要在页面上添加一个文件上传的超链接. 点击该超链接能够跳转到文件上传页面.我给该表单页面中的field字段使用了logo作为名字,即name=logo. 2.在SurveyAction中进行表单的接收.接收的类型包括文件名.文件类型和文件本身,以方便处理,给每个字段都提供了set/get方法. //上传的logo图片 private File logo; //上传的logo的文件 pr…
一.类型转换器 1.在动作类action中,声明和表单中name属性的值同名的属性,提供get和set方法,struts2就可以通过反射机制,从页面中获取对应的内容 package com.kdyzm.convert; import com.opensymphony.xwork2.ActionSupport; public class TypeConvertAction extends ActionSupport{ private static final long serialVersionU…
一.dbutils的核心就是回调函数,可以说如果没有回调函数的思想,dbutils是不可能被开发出来的. 对于dbutils中的QuryRunner类,向该类的query方法提供不同的参数,可以得到不同类型的返回值类型,但是该方法并非是重载方法,这里借助回调函数和泛型可以实现和重载方法相同的效果,而且灵活性更高. 二.简单回调函数结构. 1.首先需要一个处理句柄的顶级接口,这是回调规范. interface RunnerHandler<T> { T handler(String str); }…
一.回顾之前使用的动态代理的方式实现的数据库连接池: 代码: package day16.utils; import java.io.IOException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.sql.Connection; import java.sql.DriverManager; im…
一.注解 1.所有的注解都是类. 2.所有的注解都是Annotation接口的子类. 接口摘要 Annotation 所有 annotation 类型都要扩展的公共接口. 3.定义方式 public @interface TestAnnotation { } 4.可以注解的位置:任何地方都可以,但是要满足注解的具体限制,默认注解可以加在任意位置上 package com.kdyzm.anotation; @TestAnnotation public class Test { @TestAnnot…
1.文件上传概述 (1)使用<input type="file">的方式来声明一个文件域. (2)表单提交方式一定要是post方式才行 (3)表单属性enctype 默认提交属性:application/x-www-form-urlencoded 这个类型表示传递的是键值对类型 需要改成:multipart/form-data  这个类型表示将要传递的是字节码类型 (4)使用httpWatch查看http协议的请求部分,可以发现 在Content-type后面的bounda…
一.ServletContextListener  Method Summary  void contextDestroyed(ServletContextEvent sce)           Receives notification that the ServletContext is about to be shut down.  void contextInitialized(ServletContextEvent sce)           Receives notificati…
一.权限计算相关分析 1.如何存储权限 首先说一下权限保存的问题,一个系统中最多有多少权限呢?一个大的系统中可能有成百上千个权限需要管理.怎么保存这么多的权限?首先,我们使用一个数字中的一位保存一种权限,那么如果现在有3600种权限需要保存,我们就需要一个3600位的数字来保存该权限,首先我们如果不考虑大数的话其它数据类型是没有办法保存这么长的数字的.所以我们为了能够保存这么多的权限,就引入了一个“权限组”的概念,这个权限组只是一个标识权限的容器,我们使用long类型的数字来保存63个权限,假设…
增加页面和编辑页面.增加问题和编辑问题的页面使用的都是相同的页面,最后调用的方法是saveOrUpdate方法,所以只说一个就可以了. 一.增加页面 比较简单,略.流程如下: 单击“增加页”超链接->Action转发到增加页的jsp页面->填写表单并提交->PageAction保存页面到数据库->重定向到SurveyAction_designSurvey.action 二.增加问题 增加问题是比较棘手的,因为有九种类型的问题,是不是需要针对这九种类型的问题设计九种类型的页面呢? 除…
一.数据加密处理 这里使用MD5加密处理,使用java中自带加密工具类MessageDigest. 该类有一个方法digest,该方法输入参数是一个字符串返回值是一个长度为16的字节数组.最关键的是需要将这个16位的字节数组转换成为32位的字符串,转换方法是使用位移+与运算.将高四位移到低四位&0X0F得到一个字符,直接使用该值&0X0F得到一个字符,这样一个8bit的字节就能够拆成2个字符.最终16Byte就能够转换成为32个字符. package com.kdyzm.utils; im…
一.HelloWorld 需要的jar文件(以2.5.5为例):spring.jar,common-logging.jar 1.新建类com.kdyzm.spring.helloworld.HelloWorld.java package com.kdyzm.spring.helloworld; public class HelloWorld { public void say(){ System.out.println("Hello,World!"); } } HelloWorld 2…
一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover").attr("class","one"); }); 2.给span块使用addClass增加样式.one $("#b2").click(function(){ $("span").addClass("one"…
一.JQuery简介 1.JQuery是JavaScript库,封装了很多预定义对象和实用函数. 2.JQury的优势: (1)简洁,其宗旨就是写更少的代码做更多的事. (2)文档声明非常全面:http://www.51xuediannao.com/api/ (3)有很多成熟的插件可供选择. 3.JQuery下载:http://code.jquery.com/jquery/ 4.什么是JQuery对象:通过JQuery包装DOM对象之后产生的对象,但是两者之间的属性方法不能相互调用,但是两种对象…
一.PL/SQL简介 1.概念:PL/SQL语言是Oracle数据库专用的一种高级程序设计语言,是对标准SQL语言进行了过程化扩展的语言. 2.功能:既能够实现对数据库的操作,也能够通过过程化语言中的复杂逻辑结构完成复杂的业务逻辑. 3.特点 (1)与SQL语言紧密集成,所有的SQL语句在PL/SQL中都能够得到支持. (2)减小网络流量,提高应用程序的运行性能. (3)模块化的程序设计功能,提高了系统可靠性. (4)服务器端程序设计可移植性好. 4.PL/SQL块的标准结构 DECLARE 声…
一.子查询 1.为什么要使用子查询:问题不能一步求解或者一个查询不能通过一步查询得到. 2.分类:单行子查询和多行子查询. 3.子查询的本质:一个查询中包含了另外一个或者多个查询. 4.使用子查询的规则: (1)可以在主查询的where.select.from.having的后面放置子查询,但是不可以在在group by后面防止子查询. (2)将子查询放到括号中去. (3)强调from后面放置子查询. (4)主查询和子查询使用的可以不是同一张表. (5)一般不在主查询中使用order by,但是…
昨天有同学问我问题,他告诉我他的Action中的一个属性明明提供了get/set方法,但是在方法中却获取不到表单中传递过来的值.代码如下(简化后的代码) public class UserAction implements modelDriven<User>(){ private String name; private User model; public void setName(String name){ this.name=name; } public String getName()…
经历过低谷后,还是要好好学习,越失落会越来越落后. 今天写一下Cron表达式的用法,虽然是之前自己写的,也过了挺长一段时间,这次就拿出来作为回顾吧. Cron表达式是Quartz的精髓(个人觉得),比如我们想设定淘宝“秒杀”的那一秒时间,完全可以用下面的方法设置执行时间. Calendar cal = Calendar.getInstance(); //设置将要发生的时间... cal.set(Calendar.DATE, xxx); //.......常规的生成scheduler和job //…
转载:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生) . 注:在阅读本文前,请先阅读: Java EE 学习(5):IDEA + maven + spring 搭建 web(1) Java EE 学习(6):IDEA + maven + spring 搭建 web(2)- 配置 Spring Java EE 学习(7):IDEA + maven + spring 搭建 web(3)- 配置数据库 Java EE 学习(8):IDEA + maven + spring 搭建 web(…
转载:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生) 注:在阅读本文前,请先阅读: Java EE 学习(5):IDEA + maven + spring 搭建 web(1) ava EE 学习(6):IDEA + maven + spring 搭建 web(2)- 配置 Spring Java EE 学习(7):IDEA + maven + spring 搭建 web(3)- 配置数据库 记录: 通过对用户表的管理,更加深入地讲解SpringMVC的操作. 6 用户管理 既然我们…