JavaWeb
文章平均质量分 54
江东橘子
这个作者很懒,什么都没留下…
展开
-
表单提交方式
无刷新页面提交表单表单可实现无刷新页面提交,无需页面跳转,如下,通过一个隐藏的iframe实现,form表单的target设置为iframe的name名称,form提交目标位当前页面iframe则不会刷新页面 通过type=submit提交一般表单提交通过type=submit实现,i原创 2018-01-25 20:04:50 · 202 阅读 · 0 评论 -
MyBatis3 用log4j在控制台输出 SQL
方法一:使用标准日志输出此方法比较简单,只需要配置 MyBatis 的配置文件 Configuration 中有相关属性即可,不用再放一个 log4j.properties 文件。[html] view plain copyxml version="1.0" encoding="UTF-8"?> "http:原创 2017-12-28 14:09:22 · 795 阅读 · 0 评论 -
JavaScript获取时间戳与时间戳转化
Javascript 获取当前时间戳(毫秒级别):第一种方法:var timestamp1 = Date.parse( new Date());结果:1470220594000第二种方法:var timestamp2 = ( new Date()).valueOf();结果:1470220608533第三种方法:var timestamp3 =原创 2018-01-31 16:47:48 · 31864 阅读 · 0 评论 -
dual orcal 虚拟表
DUAL是Oracle与数据字典一起自动创建的一个表,它只有一列:DUMMY,其数据类型为:VARCHAR2(1)。DUAL中只有一行数据:'X'。DUAL属于SYS模式,但所有用户都可以使用DUAL名称访问它。用SELECT计算常量表达式、伪列等值时常用该表。dual是一个oracle内部表,不论我们做什么操作(不要删除记录)它都只有一条记录,上面插入了一条之后,他仍然只有1条记录,所以原创 2018-01-15 15:02:19 · 209 阅读 · 0 评论 -
mybatis 实现oracle主键自增的机制
本篇文章将研究mybatis 实现oracle主键自增的机制首先我们看对于同一张student表,对于mysql,sql server,oracle中它们都是怎样创建主键的在mysql中[sql] view plain copycreate table Student( Student_ID int(6) NOT N原创 2018-01-15 14:49:09 · 2559 阅读 · 0 评论 -
java 端写的list 前端页面获取方法
第一种方法:java:前端页面 第二张方法:前端页面: java:@Action(value = "classify", results = {@org.apache.struts2.convention.annotation.Result(name = "clas原创 2018-01-22 14:51:00 · 2220 阅读 · 0 评论 -
left join(左联接) left join(左联接) left join(左联接)
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: --------------------------------------------表A记录如下:aID aNum1原创 2017-12-29 14:21:58 · 3439 阅读 · 0 评论 -
linux 命令访问url: curl http://www.baidu.com/index.html
1.elinks - lynx-like替代角色模式WWW的浏览器例如: elinks --dump http://www.baidu.com2.wget 这个会将访问的首页下载到本地[root@el5-mq2 ~]# wget http://www.baidu.com--2011-10-17 16:30:10-- http://www.baidu.com/原创 2018-01-21 13:07:01 · 21416 阅读 · 0 评论 -
abstract interface 和 interface 没有区别
前一段用到Spring的ApplicationContext接口,查看它提供的方法,打开jar包,看到的信息如下: Java代码 public abstract interface org.springframework.context.ApplicationContext extends ... { public abstract org.springf原创 2018-01-03 10:12:33 · 324 阅读 · 0 评论 -
http 缓存分为客户端缓存和服务端缓存
http 缓存分为客户端缓存和服务端缓存1. 客户端缓存客户端缓存指的是浏览器缓存, 浏览器缓存是最快的缓存, 因为它直接从本地获取(但有可能需要发送一个请求), 它的优势是可以减少网络流量, 加快请求速度2. 服务器缓存服务器缓存指的是反向代理服务器或 cdn 缓存, 他的作用是用于减轻实际的 web server 的压力. 缓存生效都是通过 he转载 2017-12-18 10:22:49 · 6671 阅读 · 0 评论 -
SpringMVC、Spring和Struts的区别
一、Spring首先,结合到自己对于Spring的使用,我明确的一点是,Spring严格上来说,并不是一种框架。它相当于一个粘合剂,黏合了别的框架或者组件。所以,spring是一个容器!为什么用Spring,个人感觉,spring就是一个容器的本质,程序开发的模块组件,都可以通过spring这个容器进行组装拼合,spring为我们提供了很多 管理的功能。而且,它是一个轻量级的容器。转载 2017-12-15 10:23:00 · 195 阅读 · 0 评论 -
Tomcat在Linux上的安装与配置
Tomcat在Linux上的安装与配置 以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK与Tomcat. jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-18原创 2018-01-18 14:08:16 · 301 阅读 · 0 评论 -
tomcat 部署:直接访问域名访问项目
1、tomcat server.xml端口改为80defaultHost 和下的改为域名。 appBase改为webdbwebdb是在tomcat下的新建的文件夹。同webapps同级目录2. 在webdb 下新建ROOT。 然后将项目解压后的内容直接放到ROOT下面。3. 项目中首页地址写如下(不要写项目名字)。原创 2018-01-26 11:17:17 · 338 阅读 · 0 评论 -
Jmeter性能测试入门(一)
官网:http://jmeter.apache.org/window 下点击jmeter.bat 打开。打开时出现如下问题运行jmeter.bat时提示“not able to find java executable or version.Please check your java installation”,在系统变量中 path添加 %SystemRoot%/system32;%Syste...原创 2018-02-26 10:24:18 · 259 阅读 · 0 评论 -
JWT: 基于Token的验证
现在SPA(Single Page Application, 单页面应用)和前后端分离已经是主流. 基于Token的验证非常适合这种构架.Difference between Token-based Auth and Cookie-based Auth基于Cookie的验证基于Cookie的验证是有状态的 (stateful). 前后端都要为验证保存状态: 后端要保存active ...转载 2018-08-22 10:46:29 · 756 阅读 · 0 评论 -
JWT验证原理
一、什么是JWT?JSON Web Token(JWT),是一个开放安全的行业标准,用于多个系统之间传递安全可靠的信息.JWT是什么样子的结构?JSON Web Token说到底也是一个token字符串,它由三部分组成,头部、载荷与签名。 如下图 红色的为Header,指定token类型与签名类型,紫色的为载荷(playload),存储用户id等关键信息,最后蓝色的为签名,保证整个信...转载 2018-08-22 10:40:14 · 5037 阅读 · 1 评论 -
Tomcat 的 catalina.out 日志分割
一、背景Tomcat 的 catalina.out 日志量不断增加,占用空间较大,且默认是不滚动的。因此,需要对其进行日志分割,并进行清理。本文选用 Cronolog 对其进行分割。二、安装1、下载地址:http://cronolog.org/download/cronolog-1.6.2.tar.gz2、安装# tar zxvf cronolog-1.6.2.tar.gz# cd cronol...转载 2018-06-28 12:29:19 · 449 阅读 · 0 评论 -
Tomcat学习总结(3)——Tomcat优化详细教程
Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器。而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化。 一、内存优化 默认情况下Tomcat的相关内存配置较低,这对于一些大型项目显然是不够用的,这些项目运行就已经耗费了大部分内存空间,何况大规模访问的情况。即使是本文中的这个只有一个页面的超小项目,在并...转载 2018-04-03 15:59:13 · 277 阅读 · 0 评论 -
Tomcat中JVM内存溢出及合理配置
一、Java JVM内存介绍JVM管理两种类型的内存,堆和非堆。按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化...转载 2018-04-03 15:56:52 · 193 阅读 · 0 评论 -
接口转发和重定向区别(四)
一。Chain Result:这个result调用另外的一个action,连接自己的拦截器栈和result。actionName (默认) - 被调用的action的名字namespace - 被调用的action的名称空间. 如果名称空间为空,这默认为当前名称空间method - 用于指定目标action的另一个方法被调用. 如果空,默认为excute方法Redirect Action Resu...原创 2018-03-02 10:29:00 · 534 阅读 · 0 评论 -
接口转发和重定向区别(三)
我们就一起来简单学习一下Action的4种Result type类型,分为:dispatcher(服务端页面跳转);redirect(客户端页面跳转);chain(动作链跳转);redirectAction(客户端Action跳转),当然还有其他类型,这里我们就以这四种为例为大家介绍一下,其他几种大家有兴趣单独学习。下面我们一起来看一下上面四种的具体实现,首先是我们的配置文件:<packag...原创 2018-03-02 10:20:23 · 874 阅读 · 0 评论 -
接口转发和重定向区别(二)
转发与重定向的区别如下:转发是服务器行为,重定向是客户端行为1.转发在服务器端完成的;重定向是在客户端完成的2.转发的速度快;重定向速度慢3.转发的是同一次请求;重定向是两次不同请求4.转发不会执行转发后的代码;重定向会执行重定向之后的代码5.转发地址栏没有变化;重定向地址栏有变化6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成在servlet中调用转发、重定向的语句如下:req...原创 2018-03-02 10:15:37 · 1677 阅读 · 1 评论 -
接口转发和重定向区别(一)
1 forword是RequestDispatcher 接口(请求转发) ,而 redirect是HttpServletResponse 接口(请求重定向)2、response.sendRedirect()不仅可以重定向到当前应用程序中的其他资源,它还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。而RequestDispatcher.forward 方...原创 2018-03-02 10:13:52 · 7308 阅读 · 0 评论 -
Spring 注解的作用
1、@controller 控制器(注入服务)2、@service 服务(注入dao)3、@repository dao(实现dao访问)4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的) @Component,@Service,@Controller,@Repository注解的类,并把这些类纳入进spring容器中管理。 下面写这个是原创 2017-12-04 09:55:45 · 241 阅读 · 0 评论 -
Log4j配置说明
1 Log4j配置说明1.1 配置文件Log4j可以通过java程序动态设置,该方式明显缺点是:如果需要修改日志输出级别等信息,则必须修改java文件,然后重新编译,很是麻烦;log4j也可以通过配置文件的方式进行设置,目前支持两种格式的配置文件:•xml文件•properties文件(推荐)下面是一个log4j配置文件的完整内容:复制代码代码如下:log4j.原创 2017-09-29 17:13:17 · 182 阅读 · 0 评论 -
@Component、@Repository、@Service、@Controller区别
@Component、@Repository、@Service、@Controller区别很长时间没写代码了,把以前学的那点框架知识忘光了,最近在写Java开源商城HapiShop,发现用@Component标记一个组件,所以查询了其相关的一些资料:Spring 2.5 中提供@Component 注释外,还定义了几个拥有特殊语义的注释,分别是:@Repository、@Servi转载 2017-09-13 14:52:22 · 621 阅读 · 0 评论 -
Spring和SpringMVC自动扫描注解类的冲突问题
Spring MVC项目中通常会有二个配置文件,spring-servlet.xml和applicationContext.xml二个配置文件,通常会出现以下几个配置: 1. 它的作用是隐式地向 Spring 容器注册 - AutowiredAnnotationBeanPostProcessor、- CommonAnnotationBeanPostPro转载 2017-09-13 14:35:06 · 2923 阅读 · 0 评论 -
Spring@Autowired注解与自动装配
1 配置文件的方法 我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。 Boss 拥有 Office 和 Car 类型的两个属性: 清单 3. Boss.java vie转载 2017-09-13 14:27:26 · 306 阅读 · 0 评论 -
action 和servlet关系
在struts2.0中,可以通过ServletActionContext.getRequest()获取request对象。 在action的方法中return一个字符串,该字符串对应struts.xml中的result标签的name相同,result标签中包含的就是跳转页面, 其原理,我的理解是这样的: 一.客户端提起一个(HttpServletRequest)请求,如上文在浏览器中输转载 2017-08-23 17:53:07 · 217 阅读 · 0 评论 -
Jetty Groovy AppServer
1.lifeng-appserver项目的安装部署安装jetty:打开eclipse ->help->eclipse marketplace->输入jetty-》选择Eclipse jetty 3.9.0 install。运行项目:鼠标右键点击运行-》run with jetty原创 2017-07-19 15:14:24 · 230 阅读 · 0 评论 -
struts2注解总结----@Action和@Result
介绍:@Action/@Actions:@Action指定一个类为action,对应配置文件中的....标签,其中可以配置如下属性results:配置返回的结果集属性,相当于struts2中的列表,可以在{}中配置属性,具体如下value:配置action的名字,相当于中的name属性interceptorRefs:配置拦截器 @Action可以定义在类上,也可以定义在方法上 如下(@原创 2017-04-26 16:20:44 · 373 阅读 · 0 评论 -
tomcat部署web应用的4种方法
tomcat部署web应用的4种方法 在Tomcat中有四种部署Web应用的方式,简要的概括分别是:(1)利用Tomcat自动部署(2)利用控制台进行部署(3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)(4)手动修改%Tomcat_Home%\conf\server.xml文件来部署we转载 2017-04-24 16:13:10 · 355 阅读 · 0 评论 -
JavaWeb-Servlet
一、Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 1、编写一个Java类,实现servlet接口。 2、把开发好的Java类部署到web服务器中。 按照一种约定俗成的称呼习惯,通原创 2017-04-11 15:22:41 · 327 阅读 · 0 评论 -
Android Camera设置setPreviewCallback实现onPreviewFrame接口实时截取每一帧视频流数据
1 概述通过Android Camera拍摄预览中设置setPreviewCallback实现onPreviewFrame接口,实时截取每一帧视频流数据2 知识点① Android Camera使用: 参考 Refs/Related 0-4Camera 支持格式拍照流程② Android SurfaceView使用: 参考 Refs/Relate原创 2017-05-05 17:56:25 · 3489 阅读 · 0 评论 -
Struts2 异常处理
Struts提供了一种更简单的方法来处理未捕获的异常,并将用户重定向到专门的错误页面。你可以很轻松地配置Struts为不同的异常显示不同的错误页面。Struts通过使用“exception”拦截器来使异常处理变得简单。“exception”拦截器被作为默认堆栈的一部分包含其中,所以你不必对它做任何额外的配置。它提供开箱即用的功能可供使用。让我们看一个简单的Hello World示例,在Hell转载 2017-05-03 17:26:42 · 329 阅读 · 0 评论 -
struts2 验证框架原理及实例
struts2的核心是从webwork演变来的,其数据验证框架其实就是原webwork的那一套东西。 一,Struts2数据验证的整体框架介绍 struts2的action都要继承ActionSupprot类,这个类实现了Validateable与ValidationAware这两个跟数据验证有关的接口。其中Validateable只有一个方法validate()用于数据验证;转载 2017-05-03 16:48:13 · 426 阅读 · 0 评论 -
struts的DevMode模式
在实际应用开发或者是产品部署的时候,对应着两种模式:开发模式(devMode);此时 DevMode=ture; 产品模式(proMode);此时 DevMode=false;转载 2017-09-08 11:30:47 · 462 阅读 · 0 评论 -
Struts2中的struts.multipart.saveDir的配置
Struts2中的struts.multipart.saveDir的配置 Struts2中的struts.multipart.saveDir主要是用来设置上传文件的临时存放地址,而这个参数设置方法的不同对应的地址也不同。 1、如果没有设置struts.multipart.saveDir,那么将默认使用javax.servlet.context.tempdir指定的地址,ja转载 2017-09-08 11:45:02 · 533 阅读 · 0 评论 -
struts2中result的type属性详解
(1)type="dispatcher" 为默认,用于jsp页面跳转 /index.jsp 完整的写法为: /index.jsp (2)type="redirect" 重定向到jsp、action、外部网址 /index.jsp /login.do http://www.baidu.com 重定向时转载 2017-09-08 14:15:41 · 359 阅读 · 0 评论 -
Timer的缺陷 用ScheduledExecutorService替代
继续并发,上篇博客对于ScheduledThreadPoolExecutor没有进行介绍,说过会和Timer一直单独写一篇Blog.1、Timer管理延时任务的缺陷a、以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗;然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且任务时间过长,转载 2017-11-22 13:51:25 · 177 阅读 · 0 评论