java
曦的西瓜
..........
展开
-
封装JDBC操作
我们知道原生的jdbc操作dao非常麻烦,要获取连接,然后预编译SQL语句,然后再发送执行获取结果。如果是查询我们还要通过迭代器来迭代获取数据再做封装,不能做到通用的一个处理。我这里分享一个自己做的封装的工具类,可以支持所有的 DQML操作,基本就两个方法一个update方法,支持所有的DML操作一个query方法,支持所有的query操作那么这里需要导入apache提供的jd...原创 2018-12-06 11:29:56 · 322 阅读 · 0 评论 -
struts2拦截器
拦截器简介类似于过滤器的功能,过滤器可过滤项目任何请求(servlet/jsp),但拦截器只能拦截Action,拦截后,添加逻辑代码拦截器编写规则编写类,继承Interceptor接口import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.Interceptor;...原创 2019-06-19 21:37:44 · 129 阅读 · 0 评论 -
值栈
Strtus2的值栈(ValueStack)对象[利用了OgnlContext对象]ValueStack接口,最终在项目中存数据对象是它的实现类OgnlVauleStackValueStack数据存储结构:分为List栈(根栈) 和Map栈(非根栈 )使用OGNL表达式取List栈数据不需要#非根栈的对象取值我们需要给前面添加#,例如:#request,#session,#applica...原创 2019-06-19 21:37:51 · 190 阅读 · 0 评论 -
数据校验
struts后天提供了 数据校验的功能使用步骤 继承ActionSupport 重写 vilidate方法 @Override public void validate() { System.out.println("调用vilidate方法"); if(uname==null || "".equals(uname)){ ...原创 2019-06-19 22:53:17 · 361 阅读 · 0 评论 -
struts2实现Aajx 和 Json
实现前后 ajax 的json交互,首先我们导入对应的jar包Action类 public String getJson() throws IOException { JSONObject jsonObj = new JSONObject(); JSONObject jsonObject = new JSONObject(); j...原创 2019-06-30 22:42:35 · 233 阅读 · 0 评论 -
Struts使用入门使用
Struts使用入门Struts简介Struts简介![在这里插入图片描述](https://img-blog.csdnimg.cn/20190617161540519.pngStruts 官网地址 :https://struts.apache.org/那么我们知道Strtus只一个web框架,用它可以来替换我们之前所用过的servlet技术,既然使用它,我们先来看下它执行的过程...原创 2019-06-17 23:33:28 · 667 阅读 · 1 评论 -
代理实现几种方式
代理,这里讲三种代理实现方式1.静态代理静态代理是基于接口实现方式实现代理操作类似于 某个公司需要找明星代言产品,那么在找指定的明星的时候,是不会直接找到其明星本人,而是找他的经纪人或者经济公司,那么这个经纪人或者经济公司实际上就是该明星的代理操作,最终做事情的还是明星,代理只是帮明星做了前置或者后置的一些工作/** * @Description * @Author xz ...原创 2019-07-24 12:01:00 · 896 阅读 · 0 评论 -
SSH整合
项目结构Dept类提供 属性 与 get/set方法提供 hibernate映射配置文件<hibernate-mapping package="com.xt.entity"> <class name="Dept"> <id name="deptNo"> <generator class="...原创 2019-07-19 18:06:31 · 106 阅读 · 0 评论 -
struts2文件上传与下载
struts2框架中有封装文件上传的功能那么我们在html或者jsp中的 form 应该添加属性 entype=“multipart/form-data” 并且提交的方式 应该设置为 post提供 file 控件 提供name属性 <form action="hello.action" enctype="multipart/form-data" method="post"> ...原创 2019-06-19 21:37:35 · 162 阅读 · 0 评论 -
自定义类型转换
假设现在有这么一个场景,我们在页面中要输入对应的一个生日日期,格式有可能是 YYYY-MM-DD[默认支持此类型] 也有可能是YYYY/MM/DD[不支持]为了能让YYYY/MM/DD这种类型支持,像这种情况我们就需要提供自定义类型转换器类需要继承 StrutsTypeConverter SimpleDateFormat sdf = new SimpleDateFormat("YYYY...原创 2019-06-19 21:37:28 · 614 阅读 · 0 评论 -
请求参数数据封装
通常我们在servlet中去获取页面提交的数据,一般是通过request对象的getParameter方法,如果是一个注册页面,提交数据太多,我们获取请求的参数也太多,不便于操作,在struts2中 有提供对应的操作方式1:Action中声明对应的name属性,提供set方法在Action类中声明对应提交的参数名例:<input type='text' name='uname'/>...原创 2019-06-19 21:37:21 · 475 阅读 · 0 评论 -
基于SpringBoot搭建SSM项目
在idea中我们先创建好maven项目,导入好依赖包pom.xml如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2018-12-13 11:09:15 · 473 阅读 · 1 评论 -
String底层原理
今天模拟面试遇到一位同学,刚好问到一个问题我问他 String的底层原理是什么他思考了一会说不知道。那么我们在面试的时候有可能会遇到类似的问题,怎么去解答,肯定是要去看String的源码的public final class String implements java.io.Serializable, Comparable<String>, CharSequ...原创 2018-12-11 13:24:08 · 15664 阅读 · 6 评论 -
批量修改指定文件夹下所有的文件名称
/** * 批量修改指定文件夹下所有的文件名称 * @param filePath 文件夹路径 类似于 d:\\a\\b * @param replaceSource 想被替换的文件名称的某一段或者整个文件名称 * @param replaceTarget 被替换后的名字 */ public static void changeFileName(S...原创 2018-12-24 10:19:02 · 1424 阅读 · 1 评论 -
剖析ArrayList底层和添加元素的原理
我们在实际工作中使用List情况非常多。那么我们来看下ArrayList的 底层是如何实现的其实ArrayList底层是一个Object 的 数组我们来看下jdk中的源代码 如下public class ArrayList<E> extends AbstractList<E> implements List<E>, Random...原创 2018-12-19 10:20:55 · 1678 阅读 · 2 评论 -
LinkList与ArrayList的区别
要谈LinkList与ArrayList的区别,首先我们得看它们的底层原理是什么ArrayList底层是一个Object类型的数组LinkList底层采用的是一个Node (我们通常理解为链表,它是LinkList的一个内部类) 相同点都是一样的,都可以存储多个数据不同点是 ArrayList 操作 元素 比如 移动,删除 效率是比较低下的,这个跟它底层数组有关系,如果操作数...原创 2018-12-19 10:40:13 · 848 阅读 · 0 评论 -
struts.xml配置详解
在上一个文章中,我们了解到Struts如何使用,以及相应一个默认配置文件详解接下来我们看看自己写的struts.xml文件那么该文件是开发者自行配置的业务文件[关键是Action的配置]1.包(package) 用于管理Action 一般开发模式中我们按模块划分包 package:代表一个包,管理Action配置,在同一个包下不能有同名的Action name:包名,在一...原创 2019-06-18 21:55:33 · 1680 阅读 · 0 评论 -
struts2相关配置
struts2相关配置1.Action三种使用方式2.路径通配符3.常量配置4.全局视图配置5.Action属性注入struts2 核心业务功能1.struts数据共享三种方式2.请求参数数据的封装3.自定义类型转换4.文件上传与下载5.struts2拦截器6.值栈7.数据校验8.json使用...原创 2019-06-18 22:47:22 · 150 阅读 · 0 评论 -
路径通配符
一个模块(Action对象)使用一个Action配置例如:用户模块分为 用户登录 用户注册 用户信息修改,那么我们不可能每一个都去配置一个Action,后续不太好维护,代码量也比较多,其实都是一个Action类只是不同方法而已我们可以在action配置中使用*表示,它是表示路径的通配符,使用通配符内容:{1},表示获取第一个通配符的实际内容 好处:大大减少了action配置例如: &l...原创 2019-06-19 21:36:42 · 1286 阅读 · 0 评论 -
struts2常量配置
struts2的常量就是用于struts2的程序中使用的一些常量参数访问struts时,为什么是action结尾,将web.xml中的配置改成 *.do行不行?我们可以尝试下,结果发现是不可行的,原因在于 struts有常量配置,只能使用action或者不加action那么我们如何修改此文件在struts.xml中可以修改默认配置文件 在 struts-core核心包中 default....原创 2019-06-19 21:36:51 · 174 阅读 · 0 评论 -
struts2全局视图配置
struts2全局视图配置全局视图作用:当该包下的所有的action都使用到的一些视图可以放到全局中进行配置注意:当action配置中也有相同名称视图,那么action局部视图会覆盖全局视图<global-results> <result name="success">/success.jsp</result> &l...原创 2019-06-19 21:36:59 · 323 阅读 · 0 评论 -
Action属性注入
假设现在我们模拟文件上传操作,那么我们在Action类中代码可能是这样 public String execute() throws Exception { //获取文件 File file = new File("d://a.txt"); //struts提供文件复制工具类 把文件保存在服务器端 FileUtils.cop...原创 2019-06-19 21:37:07 · 308 阅读 · 0 评论 -
Struts2三种共享数据的方式
在web项目中都是使用域对象来共享数据在struts2中有三种方法实现数据共享使用request,session,servletContext域对象共享 //获取request HttpServletRequest request = ServletActionContext.getRequest(); //获取session ...原创 2019-06-19 21:37:15 · 672 阅读 · 0 评论 -
Spring JdbcTemplate
Spring也是支持JDBC操作,封装了它的模板类 JdbcTemplate,对原生JDBC操作进行了简化使用它需要导入 spring-jdbc的jar以及spring-tx的jar包我们导入以下jar包 以及数据库的驱动包C3P0连接池在项目下新建db.properties配置文件,用来配置数据库连接信息以及连接池配置driverClass=com.mysql.j...原创 2019-07-29 22:17:25 · 221 阅读 · 0 评论