struts2杀器---Interceptor拦截器
struts2是目前java开发中流行的控制层框架,取代了原先的servlet。struts2的惊天创举就是采用了一系列拦截器,对前台请求进行一系列处理, 这一创举开启了面向切面编程的时代,也体现了一种成熟的架构思想。
废话少说,show my code,首先在web层定义一个权限拦截器,如下:
DOM4J使用XPath解析含有xmlns的xml文档
}可以直接使用XPath解析没有任何问题public class Dom4jTest {
public static void main(String[] args) throws Exception {
run7();
}
private static void run7() throws Exception {
String uri =...
JDBC连接碰到的一些问题解决方法
今天在idea上学习JDBC驱动链接MySQL进行查询.MySQL 5.7.22, JDK9.写完语句之后,报了一连串的错误,首先是Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. 我使用的是mysql-connector-ja...
JavaScript笔记(3):DOM选择器
1.找到标签document.getElementById("i1") //获取单个元素
document.getElementByTagName("div") //获取多个元素(结果存放在列表中)
document.getElementByClassName("c1") //获取多个元素(结果存放在列表中) (1)直接找document.getElementById ...
JavaScript笔记(4):模态对话框、隐藏二级菜单及多选框的实现
模态对话框主要是通过改变表现的属性名来改变相应标签的显示性。 以下给出模态对话框的实现代码:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>模态对话框的实现</title>
HTML与CSS粗浅摘要
一、HTML 一大堆的标签:块级、行内 二、CSS 1.CSS的各种属性值 position、background、text-align、margin、padding、font-size、z-index、over-flow、:hover、opacity、float、clear : both、line-height、border、color、display 2....
JavaScript笔记(5):序列化、转义、eval、Date类
1.序列化 JSON.stringify(obj) //将对象转化为字符串
JSON.parse(str) //将字符串转换为对象类型 2.转义decodeURI() //URI中未转义的字符
decodeURIComponent() //URI组件中的未转义字符
encodeURI() ...
JavaScript笔记(6):作用域、面向对象
一、作用域 1.其他语言:以代码块作为作用域public void Func(){
if(1==1){
string name = "java";
}
print("name");
}
Func() //报错,因为参数name只是作用域为if结构内的局部变量 2.python:以函数为作用域情况一:
def func():
...
JavaScript笔记(7):DOM直接查找与间接查找的补充
1.直接查找var obj=document.getElementById("i1"); //根据id值获取对应的标签 2.间接查找 (1)文件内容操作:innerText //仅文本
innerHTML //全内容
value
input //value获取当前标签中的值
select //获...
JavaScript笔记(8):搜索框示例实现、样式操作、属性操作、标签操作
以下给出搜索框示例的详细代码:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>搜索框的实现</title>
</head>
<body&g
JavaScript笔记(9):非常规form表单提交、弹出框、URL和刷新、定时器
1.非常规form表单的提交方式 任何处于form表单中的标签通过DOM都可提交表单document.getElementById("form").submit(); 以下给出相应的示例代码:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"&g
JavaScript笔记(10):行为(HTML)、结构(CSS)、样式(JS)相分离的页面
1.绑定事件的两种方式 (1)直接标签绑定<p id="p" onclick = "func()">标签绑定</p> (2)先获取DOM对象,然后进行绑定document.getElementById("i1").onclick
documnet.getElementById("i2").onfocus 以下给出由第二种绑定方式实现行为、结构、样式
JavaScript笔记(11):词法分析
1.词法分析 JS中,在函数执行前会首先对函数进行词法分析,然后再执行函数。 <script>
function t1(age){
//词法分析第1步:age=undefined
console.log(age);
//函数执行第1步(使...
MySQL性能优化[实践篇]-复合索引实例
上篇文章最后提了个问题
假设某个表有一个复合索引(c1,c2,c3,c4),问以下查询中只能使用该复合索引的c1,c2,c3部分的有那些
1. where c1=x and c2=x and c4>x and c3=x
2. where c1=x and c2=x and c4=x order by c3
3. where c1=x and c4=x group by c3,c2
...
MySQL性能优化[理论篇]-聚簇索引和非聚簇索引,InnoDB和MyISAM
聚簇索引
聚簇索引(Clustered Index)并不是一种新的数据结构,只是B树索引的一种存储方式。
聚簇索引的特点是完整的数据行就放在B树的叶子结点中,Clustered(聚簇,集群)就表示数据行与对应的键紧凑的存储在一起。
下图是《高性能MySQL》聚簇索引的截图,其中,叶子结点包含了数据行的完整数据,非叶子节点只包含索引列数据。
数据行的逻辑顺序与聚簇索引的顺序一致。B+树中...
014--自找麻烦之 如何学习白鹭引擎
1. 使用的语言: 结构和样式使用的是EXML( 不用太过于精通),行为层使用的是TypeScript2. 定义样式:白鹭专用的编译器(Egret Wing)能够很方便的编辑样式。3. 定义动画: 通过编译器(Egret Wing)快捷的定义动画, 也可以通过ts中通过代码定义。然后通过回调和一些egret的事件, 监听动画的开始、结束等等操作, 开完成逻辑。4. 监听: 需要的时候查API就行...
015--自找麻烦之 白鹭
1. 开发微信小游戏用5.12及以上版本2. egret 游戏项目和 egret eui项目 可以发布为微信小游戏3. 项目--选择完--发布--微信小游戏--填写appid(也可以不填,引擎内置公用appid,但无法正式发布),填写项目名称--默认发布--确认--在项目同级目录出现一个文件夹4. 实时预览: 在项目目录执行 egret run 会打开微信开发者工具,要先扫码登录,修改代码后执行 ...
016--自找麻烦之typescript(ts)
1. ts是js的超集,ts没有兼容性问题,ts是微软开源的2. ts环境搭建:(mac) sudo npm i -g typescript tsc 文件名.ts
今日推荐
周排行