VereWebMVC案例(从数据到前端页面)
打开 Eclipse 新建一个 test 项目 Eclipse -> File -> New -> Dynamic Web Project
将解压后 VereMVC/lib 目录下面的 jar 包拷贝到 test/WebContent/WEB-INF/lib 里面
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar
VereMVC.jar
将解压后 VereMVC 目录下面的 资源配置 xml 文件 拷贝到 test/src 里面
VereMVC.xml
在 test/WebContent/WEB-INF/web.xml 里面添加支持 VereMVC 配置
<filter>
<filter-name>VereMVC</filter-name>
<filter-class>com.vere.mvc.dispatcher.filter.VereMVCPrepareFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>VereMVC</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>com.vere.mvc.listener.VereMVCContextListener</listener-class>
</listener>
新建一个TestAction 类 test/src -> com.test.action.TestAction
package com.test.action;
import javax.servlet.http.HttpServletRequest;
import com.vere.mvc.ServletActionContext;
public class TestAction {
public String execute() {
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("name", "你好");
return "success";
}
}
在 test/src/VereMVC.xml 配置文件中配置 com.test.action.TestAction
<action name="account" class="com.test.action.AccountAction">
<result name="success">/test.jsp</result>
</action>
在 test/WebContent 中新建一个 test.jsp 文件
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
String name="";
if(request.getAttribute("name")!=null)
{
name=request.getAttribute("name").toString();
}
out.write(name);
%>
</body>
</html>
启动 tomcat 在浏览器地址栏输入 http://localhost:8080/test/test
将会看到结果
VereORM至简持久层微架构
1. 下载并解压 VereORM.zip 文件
2.打开 Eclipse 新建一个 test 项目 Eclipse -> File -> New -> Dynamic Web Project
3.将解压后 VereORM 和 VereORM/lib 目录下面的 jar 包拷贝到 test/WebContent/WEB-INF/lib 里面
下载数据库驱动包
lib/dom4j-1.6.1.jar
lib/jaxen-1.1-beta-6.jar
lib/db2jcc4.jar //DB2 驱动
lib/jtds-1.2.jar //MS-SQL 驱动
lib/sqljdbc.jar //MS-SQL 驱动
lib/sqljdbc4.jar //MS-SQL 驱动
lib/mysql-connector-java-5.1.9.jar //MySQL 驱动
lib/ojdbc14.jar //Oracle 驱动
VereORM.jar
我们以MySQL 为例子只需要下载上面的 4 个驱动包即可
mysql-connector-java-5.1.9.jar
dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar
VereORM.jar
4.将解压后 VereORM 目录下面的 资源配置 VereORM.xml 文件 拷贝到 test/src 里面
VereORM.xml
5.新建一个实体模型 User 类 test/src -> com.test.entity.User
package com.test.entity;
import java.util.Calendar;
public class User {
private int id;
private String name;
private int age;
private float salary;
private Calendar birthday;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public float getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
public Calendar getBirthday() {
return birthday;
}
public void setBirthday(Calendar birthday) {
this.birthday = birthday;
}
}
7.创建一个对应的表 user 到mysql test 数据库中
CREATE TABLE `user` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`salary` float DEFAULT NULL,
`birthday` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
//插入一条测试数据
INSERT INTO `user` VALUES (1,'huyang',38,1000.5,'2017-05-23 17:09:59');
7.在 test/src/VereORM.xml 只需简单配置 实体模型User 到 表 user 的映射
<?xml version="1.0" encoding="UTF-8"?>
<VereORM>
<dataSource class="com.vere.orm.db.pool.PooledConnection">
<property name="dbType" value="mysql" />
<property name="dbDriver" value="com.mysql.jdbc.Driver" />
<property name="dbDatabase" value="test" />
<property name="dbUsername" value="root" />
<property name="dbPassword" value="19810109" />
<property name="dbUrl" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8" />
<property name="idleSize" value="5" />
<property name="maxSize" value="10" />
<property name="waitTime" value="15000" />
<property name="checkTime" value="15000" />
</dataSource>
<mapping>
<class name="com.test.entity.User" table="user">
<id name="id" column="id" generator="assign" /> <!-- 表的主键 id 1.assign 手动设置 2.auto_increment 数据库自动增加 -->
</class>
</mapping>
</VereORM>
8.在 test/src 中新建一个 测试类 com.test.orm.Test
package com.test.orm;
import com.test.entity.User;
import com.vere.orm.db.Session;
import com.vere.orm.db.SessionManager;
public class Test {
public static void main(String[] args) {
SessionManager sessionManager=new SessionManager();//创建session 工厂
Session session= sessionManager.openSesstion(); //打开一个session
try
{
Object obj=session.findOne(User.class, "select * from user where id=1");//原生SQL
if(obj!=null)
{
User user=(User)obj;
System.out.println(user.getId()+" | "+user.getName()+" | "+user.getAge()+" | "+user.getSalary());
}
}catch(Exception e)
{
e.printStackTrace();
}
finally
{
if(session!=null)
{
session.close();//关闭session
}
}
}
}
9.运行 com.test.orm.Test 类
将会看到结果:
1 | huyang | 38 | 1000.5
VereMVC至简mvc微架构
1. 下载并解压 VereMVC.zip 文件
2.打开 Eclipse 新建一个 test 项目 Eclipse -> File -> New -> Dynamic Web Project
3.将解压后 VereMVC/lib 目录下面的 jar 包拷贝到 test/WebContent/WEB-INF/lib 里面
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar
VereMVC.jar
4.将解压后 VereMVC 目录下面的 资源配置 xml 文件 拷贝到 test/src 里面
VereMVC.xml
5.在 test/WebContent/WEB-INF/web.xml 里面添加支持 VereMVC 配置
<filter>
<filter-name>VereMVC</filter-name>
<filter-class>com.vere.mvc.dispatcher.filter.VereMVCPrepareFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>VereMVC</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>com.vere.mvc.listener.VereMVCContextListener</listener-class>
</listener>
6.新建一个TestAction 类 test/src -> com.test.action.TestAction
package com.test.action;
import javax.servlet.http.HttpServletRequest;
import com.vere.mvc.ServletActionContext;
public class TestAction {
public String execute() {
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("name", "你好");
return "success";
}
}
7.在 test/src/VereMVC.xml 配置文件中配置 com.test.action.TestAction
<action name="account" class="com.test.action.AccountAction">
<result name="success">/test.jsp</result>
</action>
8.在 test/WebContent 中新建一个 test.jsp 文件
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
String name="";
if(request.getAttribute("name")!=null)
{
name=request.getAttribute("name").toString();
}
out.write(name);
%>
</body>
</html>
9.启动 tomcat 在浏览器地址栏输入 http://localhost:8080/test/test
将会看到结果
VereCached至简缓存架构
1. 下载并解压 VereCached.zip 文件
2.打开 VereCache.xml
<?xml version="1.0" encoding="UTF-8"?>
<VereCache>
<param key="MasterServer" value="localhost:9010" /> <!-- 主服务的 ip 和 端口 -->
<param key="synchronizeData" value="true" /> <!-- 是否同步数据 -->
</VereCache>
3.启动缓存服务
Window 下 : startup.bat
Linux 下 : startup.sh
4.打开 Eclipse 新建一个项目 test 然后新建测试类 com.test.cache.Test
package com.test.cache;
import com.vere.cache.client.CacheClient;
public class Test {
public static void main(String[] args) {
CacheClient cacheClient=new CacheClient();
cacheClient.setRemoteAddressList("localhost:9010"); //缓存服务器列表
cacheClient.put("name", "胡杨");
String name=cacheClient.get("name");
System.out.println(name);
cacheClient.put("name", "李军");
name=cacheClient.get("name");
System.out.println(name);
cacheClient.delete("name");
name=cacheClient.get("name");
System.out.println(name);
cacheClient.deleteAll();
name=cacheClient.get("name");
System.out.println(name);
}
}
springMVC+pring+myBatis所需jar
随意下载:
应某网络友人邀约,需要一个SSM框架的Demo作为基础学习资料,于是乎,就有了本文。一个从零开始的SSM框架Demo对一个新手来说,是非常重要的,可大大减少在学习过程中遇到的各种各样的坑,说到最后,也算是助人为乐吧!下面我们从零开始进行SSM框架的搭建,在介绍最后,我会把项目部署在GitHub以便需要Demo的亲朋好友们进行下载~~~
JDK-8随意下载(32, 64位)
JDK8正式版已经发布三年了,JDK9预计将于今年9月发布。很多应用都已经升级到了jdk8,java的大部分开源框架也早已支持jdk8,但是你真正开始使用jdk8了吗?
PDF解析需要的jar(pdfBox2.0)
随意下载:自从Adobe公司1993年第一次发布公共PDF参考以来,支持各种语言和平台的PDF工具和类库就如雨后春笋般涌现。然而,Java应用开发中Adobe技术的支持相对滞后了。
自从Adobe公司1993年第一次发布公共PDF参考以来,支持各种语言和平台的PDF工具和类库就如雨后春笋般涌现。然而,Java应用开发中Adobe技术的支持相对滞后了。这是个奇怪的现象,因为PDF文档是企业信息系统存储和交换信息的大势所趋,而Java技术特别适合这种应用。然而,Java开发人员似乎直到最近才获得成熟可用的PDF支持。
PDFBox(一个BSD许可下的源码开放项目)是一个为开发人员读取和创建PDF文档而准备的纯Java类库。它提供如下特性:
提取文本,包括Unicode字符。
和Jakarta Lucene等文本搜索引擎的整合过程十分简单。
加密/解密PDF文档。
从PDF和XFDF格式中导入或导出表单数据。
向已有PDF文档中追加内容。
将一个PDF文档切分为多个文档。
覆盖PDF文档。
struts2 + spring + mybatis 框架整合jar包
1、在新建的项目上点右键,然后选择MyEclipse->Add Struts capabilities
2、在struts配置窗口中选择struts 2.1,然后点Finish
在这一步,myeclipse在web.xml文件中配置struts2过滤器,增加的内容如下:
struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2*.action
另外,myeclipse还在工程的src目录新建了struts.xml文件,这个文件是用来配置action的。当然了,myeclipse还做了一件事情,就是把支持struts2的jar包都导入到工程中。
3、编写action类
myBatis相关全部jar包
网盘随意下载:
简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
提供映射标签,支持对象与数据库的orm字段关系映射
提供对象关系映射标签,支持对象关系组建维护
提供xml标签,支持编写动态sql。
java反编译工具
功能特点:
========
1、XJad是基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2;
2、可处理多个*.class文件,可以处理文件夹内的所有文件,甚至可以处理*.jar文件;
3、带有多页面文本编辑器,也可集成在资源管理器中,随时点击右键都可进行操作;
4、支持java语法的高亮显示;
使用说明:
========
1、打开一个或者多个*.class文件,XJad反编译后,重命名为*.java文件,
保存至当前文件夹,并在编辑器中打开查看;
2、打开一个文件夹,XJad将该文件夹下所有*.class文件进行反编译,并保存至该文件夹下,
依据包路径信息生成文件夹路径,如com.spring.framework.*,
将建立com\spring\framework的文件夹结构;
3、打开一个*.jar文件,XJad将该Jar文件中的所有*.class文件解压缩到临时目录并进行反编译,
并将源文件带包路径信息保存至当前文件夹下名称为“~” + *.jar 的文件夹中;
xbrl解析(java)
XBRL相比Excel、PDF、网页等财务信息格式有众多优势,原因就在于它将业务报告整体拆分为一个个元素而存在,使报告由静态变为动态,让计算机可以对报告内容进行抽取和组合。
例如,对于Word格式财务报告,尽管人们可以手工抽取不同文件中的元素(例如净资产数据)进行比较分析,但计算机不能自动完成这一任务。从计算机软件角度来讲,无法读懂Word文件并进行有意义的拆分。而在XBRL技术下,每一个元素都有其特定的识别标记,从而使报告可拆分。
MD5和BASE64相关jar包2
MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
java数组扩容2
Java数组扩容的原理
1)Java数组对象的大小是固定不变的,数组对象是不可扩容的。
2)利用数组复制方法可以变通的实现数组扩容。
3)System.arraycopy()可以复制数组。
4)Arrays.copyOf()可以简便的创建数组副本。
5)创建数组副本的同时将数组长度增加就变通的实现了数组的扩容。
springMVC上传下载样例2
s文件上传是项目开发中最常见的功能。为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器。
一旦设置了enctype为multipart/form-data,浏览器即会采用二进制流的方式来处理表单数据,而对于文件上传的处理则涉及在服务器端解析原始的HTTP响应。在2003年,Apache Software Foundation发布了开源的Commons FileUpload组件,其很快成为Servlet/JSP程序员上传文件的最佳选择。
MD5和BASE64相关jar包
MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
springMVC上传下载样例
文件上传是项目开发中最常见的功能。为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器。
一旦设置了enctype为multipart/form-data,浏览器即会采用二进制流的方式来处理表单数据,而对于文件上传的处理则涉及在服务器端解析原始的HTTP响应。在2003年,Apache Software Foundation发布了开源的Commons FileUpload组件,其很快成为Servlet/JSP程序员上传文件的最佳选择。
itext解析pdf全能最新jar
iText是著名的开放源码的站点sourceforge的一个项目,它是一个用于生成PDF文档的一个java开源库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。如果PDF是标记的且包含一个结构树,就可以借助于iText将PDF文档转换成XML文档(这往往取决于PDF文档是如何创建的)。另外还可以从页面中提取纯文本。
react下载-react入门-react.js下载多类库js下载
react下载-react入门-react.js下载多类库js下载
React 是一个用于构建用户界面的 JAVASCRIPT 库。
React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。
React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。
React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。
iBatis框架搭建用到的所有jar包
所谓“半自动化”,可能理解上有点生涩。纵观目前主流的 ORM(对象关系映射),无论 Hibernate还是Apache OJB,都对数据库结构提供了较为完整的封装,提供了从POJO到数据库表的全套映射机制。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过 Hibernate或者OJB 提供的方法完成持久层操作。程序员甚至不需要对 SQL 的熟练掌握,Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的 SQL 并调用 JDBC 接口加以执行。
JSP标准标签库(jstl)
JSTL 1.0 发布于 2002 年 6 月,由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。它还提供了用来生成和操作 URL 的标记。顾名思义,format 标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行 JSP 页面的国际化。xml 库包含一些标记,这些标记用来操作通过 XML 表示的数据,而 sql 库定义了用来查询关系数据库的操作。
java数组扩容
打破数组的固定长度局限性!使之逻辑延长
joda-time-2.1JAR包
Joda-Time 令时间和日期值变得易于管理、操作和理解。事实上,易于使用是 Joda 的主要设计目标。其他目标包括可扩展性、完整的特性集以及对多种日历系统的支持。并且 Joda 与 JDK 是百分之百可互操作的,因此您无需替换所有 Java 代码,只需要替换执行日期/时间计算的那部分代码。