Javaweb
文章平均质量分 90
yongh701
这家伙很聪明,什么都没有留下
展开
-
【Servlet】利用Servlet3.0标准与JSTL表达式实现文件上传系统,支持图片上传后显示
伴随着JDK1.6一起出现的Servlet3.0标准,使得JSP的文件上传系统不再艰难,此前在JSP的文件上传系统需要《【Jsp】使用jspsmartupload完成简单的文件上传系统》(点击打开链接)类似这样的插件才能完成的文件上传系统,还不支持中文,使得各位程序猿掏空心思才能解决这个问题。现在Servlet3.0对文件上传的方法进行封装,无须分块就可以实现。而且Servlet3.0还不用类似《原创 2015-03-14 16:39:39 · 3384 阅读 · 1 评论 -
【SVN】团队项目出现The project cannot be built until build path errors are resolved的解决方法与.classpath文件
一般从SVN检出的项目,按《【SVN】新SVN项目的注意事项》(点击打开链接)改好一切,并且按照《【Mysql】修改root密码与创造一个与root一样权限的账号》(点击打开链接)配置好数据库密码,就基本没有问题的,但是请注意。有时候,你弄得再怎么好,你会发现你的SVN工程,尽管能够正常编译与运行,但是里面所有jar包消失,工程目录结构凌乱,然后写Java代码的时候没有半点提示,在MyEclips原创 2015-04-11 09:52:14 · 43920 阅读 · 1 评论 -
【Spring】Spring在JavaWeb工程中整合log4j
在《【Spring】Spring3.0.5的下载、配置与Helloworld》(点击打开链接)一文各位已经可能看到了。如果Spring不整合log4j直接启动,则会出现如下关于Spring整合log4j的警告。这个挺烦人的,一方面自己提倡高内聚,低耦合,另一方面,自己没有整合log4j就提出警告。我们程序猿写出来的程序就叫做“耦合”,它Spring就叫做“整合”。好吧!你只能同时搞明白,log4j原创 2015-05-10 10:16:11 · 5728 阅读 · 1 评论 -
【Struts2+Hibernate3+Spring3】利用SSH整合,完成打印用户表,用户登录、注册、修改密码系统
本文视图尽可能不杂糅其它技术,尽可能少写代码,完成SSH整合。以致于各位在现有网上资料越来越天花龙凤之下,清晰地了解到传说中的三大框架SSH是怎么整合的。一、SSH的下载首先SSH的下载就已经是一个难点。SSH三个地方同时推出各自的新技术,已经要求利用Maven完成其版本的同步。毕竟Spring的版本,决定其能整合什么版本的Struts与Hibernate。Spring3.0.5就原创 2015-05-11 09:53:40 · 9642 阅读 · 17 评论 -
【Maven】Maven的下载与配置,修改其本地仓库,并挂在到Eclipse for javeee建立一个Servlet3.0的Helloworld
首先说一下Maven是什么。经常听Maven项目好像很高大上的样子,其实Maven只是一个jar的下载工具。配置了Maven的项目,在程序猿的开发机器能够联网的时候,能够自己上网下载程序猿需要的jar包,省去程序猿自己上各个国外官网,忍受着卡爆的网速,找jar包的蛋疼。由于Maven是Apache的项目,Apache在全世界都配有服务站点,因此通过Maven下jar包,是很不错的。同时,现在一些S原创 2015-05-14 10:20:47 · 2629 阅读 · 0 评论 -
【sitemesh】Jsp的装饰器组件sitemesh
姑且不论这东西到底有没有用,毕竟Jsp页面编程完全可以利用JSP的include命令,像传统网页编程一样,先写好几个页眉页脚header.html、footer.html、banner.html之类,再于每个页面利用引入这几个页面。这样一来好维护,二来代码清晰不麻烦,三来去到asp.net、vbscript、php等服务器编程页面我们一样这样搞。要不是html没有include命令,甚至来不至于用原创 2015-05-16 10:34:48 · 3094 阅读 · 0 评论 -
【Servlet】Servlet3.0与纯javascript通过Ajax交互
这是一个老生常谈的问题,对于很多人来说应该很简单。不过还是写写,方便Ajax学习的后来者。虽然js.html是一个纯静态的页面,但是以下的程序必须挂在Tomcat服务器上,才能做到Ajax交互,否则看不出效果的。Eclipse for javaee注意把做好的工程挂在Tomcat上,才运行Tomcat。本工程除了JSP必须的Servlet包以外,无须引入其它东西。其实想直接用一个JSP页面完成这个原创 2015-05-07 11:21:38 · 7307 阅读 · 7 评论 -
【Spring】Spring依赖注入IOC的设值注入setter
其实标题中如此高大上的名词,只是一个问题,关于在Spring的applicationContext.xml中的如下语句是什么意思?这类语句在SSH的配置中会大量存在,因为Spring所谓的核心机制就是Spring依赖注入IOC。下面举一个例子说明这个问题:先贴上目录结构:在Eclipse中新建一个Java工程,不是JavaWeb,在这个Java配置好Spring3.0.5,这个原创 2015-05-08 11:16:40 · 2943 阅读 · 0 评论 -
【Servlet】Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地
这里之所以调用新浪api接口,主要是可以避免我们在本地存放一个ip归属地库,同时,我们在本地要存放用户的ip,仅仅存放其ip就可以了,无须存放其归属地,节省一个字段。如下图,写一个带有获取客户端IP地址的网页:首先,在Eclipse的目录结构如下:里面除了servlet的支持包之外,就一个.jsp与一个.java。其中这里用到Servlet3.0,因此web.x原创 2015-06-19 15:18:26 · 4696 阅读 · 0 评论 -
【Servlet】Javaweb中获取任意个参数
总有这样的情况,传递到后台处理方法的参数数目不知道。比如某个前台以前要传递给getAllParameter这个Servlet的参数位置。而又要再Servlet对不定长的参数进行一一分解,这该怎么办呢?下面做一个简单的Javaweb工程来说明这个问题,整个Javaweb工程就getAllParameter.java这个Servlet如下图所示,无论传递给getAllParam原创 2015-05-22 19:44:09 · 2950 阅读 · 0 评论 -
【Spring】Spring3.0.5的下载、配置与Helloworld
Spring这东西其实没有想象中这么难,只是由于网上大部分资料杂糅了许多其它奇奇怪怪的技术,什么Maven,log4j,什么东西都来,还有上来就将SSH整合的,那叫初学者,怎么可能看懂?下面以一个最简单,无其它额外的技术,讲解一下Spring。一、Spring下载首先,Spring的下载就是一个问题。这些框架的官网改来改去,然后在强推其新技术,把历史版本通通都去掉了。正如ExtJs原创 2015-05-08 10:01:04 · 4285 阅读 · 2 评论 -
【Jsp】把Java写到Respond输出流里面供用户下载
把Java中的内容输出到文件大家都会了,输入输出流是每一个Java程序猿的必须课。在《【Java】打印流与缓冲区读者完成输入与输出到文件操作》(点击打开链接)与《【Java】输入与输出与JDK1.5之后的新型字符串StringBuilder》(点击打开链接)之中,我都说过这个问题。但是在Jsp上,怎么把Java内容直接把文件写到网页上给用户下载呢?一般一些导出功能实现,就需要这样弄。具体如下图原创 2015-04-09 19:38:46 · 5485 阅读 · 1 评论 -
【Javaweb】网页表单调试中后退的大忌
网页的调试,尤其是表单的调试,应该每一次修改保存之后,必须在网页刷新一次或者在地址栏重新输入要调试的地址,不要用后退的方式,以为网页也是跟着刷新的了。其实,这只是在缓存中你还有没有修改的网页而已。纵使你已经重启过服务器,保存过代码了。网页表单调试的时候,后退之后不按刷新,仅仅就后退完事,尤其是你要对这一页的脚本进行更新的调试,根本就是不停载入缓冲中没有修改过代码的页面,你写的脚本根本就没有加载原创 2015-03-12 10:46:20 · 1552 阅读 · 0 评论 -
【Struts2】中文文件的下载与下载权限的控制
中文文件的下载的下载还是小事,毕竟在服务器上面放置的文件一般都以用户ID与时间戳命名为好。不然一些浏览器无法解释中文,就无法提供一个正常的中文链接给用户下载。但是利用Struts2实现下载权限的控制真的是一个很实用的功能。一、基本目标设置一个很简单的问题,用户输入错误答案则不能下载,必须输入正确答案才能下载,如下图,而且被下载的文件在服务器的File文件下面,名称叫做“中文没有问题原创 2015-03-23 08:47:35 · 1801 阅读 · 0 评论 -
【Servlet+Struts2】文件下载时抛出java.lang.IllegalStateException异常的解决方法
java.lang.IllegalStateException这种异常,不代表文件不能下载,不代表程序写错,它在Tomcat抛出完异常之后依然能够正常运行的。只是看着不爽而已,每次下载都要在Tomcat抛出一大堆异常。java.lang.IllegalStateException主要是用了后台把文件丢进respond的缓冲区,然后respond再把下载的文件扔回JSP的情况所造成的。Servl原创 2015-04-02 10:44:23 · 1857 阅读 · 0 评论 -
【Servlet】在Servlet3.0中利用json+ajax把数据库查询出来的数据推向前台显示,无额外的json解析包
一、基本思想首先明确一点,在web中的request、session、application的三大容器中是不能存放arraylist类动态数组的,这些容器实质上只是一个存放Object的HashMap,你把HashMap的东西根据key取出来之后,其值根本无法如同String,int通过强制数组转换成arraylist类动态数组的,即使可以也是非常麻烦的。这些东西都是Java的基本数据结果,具原创 2015-03-24 09:39:29 · 5333 阅读 · 0 评论 -
【Servlet】在Servlet3.0中利用ajax达到iframe局部刷新效果,同时避免在Js写过多的HTML代码
Ajax技术已经不算什么新鲜事了,Ajax局部刷新的文章在网上已经应有尽有,但是,这些文章有一个很严重的缺点,就是把查询出来的内容在JS不停地构造HTML内容,再把这些内容放在页面,好像自己的JS构造节点技术很牛B很熟练似的,或者认为查询出来的内容只能通过这种方法去局部刷新。导致后期大部分HTML在JavaScript脚本里面,IDE工具无法识别。现在不说Javascript熟练不熟练的问题。主要原创 2015-03-25 09:27:17 · 2738 阅读 · 0 评论 -
【Javaweb】后台的字符串转义,入库之前记得先对字符串转义防止sql注入问题
在《【JavaScript】某些字符不转义可以导致网页崩溃与涉及转义字符的显示方法》(点击打开链接)提及到一种表单之前,必须把表单的输入框的内容转义的方法,但是,其实这种字符串的转义更加应该放在后台中进行。这样同时能够有效地防止sql注入的问题。所谓的sql注入是什么呢?比如,你做了一个登录功能什么的。你必须把根据用户输入的用户名,查询存放在数据库的密码的,然后与密码比对是不是?selec原创 2015-03-28 10:39:58 · 3465 阅读 · 0 评论 -
【SVN】提交文件时,文件被锁定,重启也无法提交的问题
SVN提交文件时,文件被锁定,重启也无法提交的问题主要是因为上次SVN提交时,出现了网络问题,然后久久无法返回一个成功或者失败的结果,导致你的Eclipse/MyEclipse卡死,然后你强行中断Eclipse/MyEclipse所造成的。之后无论你提交多少次,也会出现如下的,文件被锁定的提示了:*那马赛克是我公司的项目,这马赛克不得不打,你懂的,呵呵此时,你首先要搞清楚一个问原创 2015-04-03 09:30:41 · 7555 阅读 · 2 评论 -
【SVN】新SVN项目的注意事项
一个真正的网页编程程序猿走上团队协作的道路是不可避免的,使用Eclipse或者MyEclipse利用SVN插件完成团队编程总有一天或者就是现在,是一件很平常的事情。但是,往往有时候前台环境配置好了,《【Javaweb】前台开发环境的配置Myeclipse6.5+JDK1.6+Tomcat6.0+SVN1.8》(点击打开链接),后台环境配置好,《【Mysql】Mysql的安装、部署与图形化》(点原创 2015-03-10 08:41:54 · 2084 阅读 · 1 评论 -
【Hibernate】Hibernate的聚类查询、分组查询、排序与时间之差
在Hibernate中的HQL语句其实能够基本能够实现SQL语句所做的事情,正如jQuery至于javascript一样。虽然HQL语句是对类的查询,但是HQL在实行聚类查询、分组查询、排序与时间之差等查询,也无须把查询结果查询出来,再通过对List的处理才得到结果。比如有一张如下的Testtable表:要像《【Mysql】求出离最近相差X天的项,sql语句关于日期的比对》(点击打原创 2015-04-20 10:37:41 · 6258 阅读 · 0 评论 -
【Servlet】利用JSTL表达式,C标签的循环与判断,对数据库查询内容进行分页
分页技术在很多地方都有使用,几乎在超过30条数据需要显示页面,你不得不利用get方法对其进行分页,总不能一次性地在一个页面呈现给用户,而在JavaWeb中实现分页一点也不难,关键是处理好几个关键参数,下面举一个例子说明这个问题。一、基本目标在数据库中有张已经被我用烂的Testtable表。这张表有17条记录,自增的ID是断裂的,也就是说不是按照1、2、3、4……排列下去原创 2015-06-05 19:22:16 · 5236 阅读 · 0 评论 -
【Hibernate】Hibernate的多表查询
在《【Hibernate】Hibernate的聚类查询、分组查询、排序与时间之差》(点击打开链接)一文中已经讲述过如何利用HQL语句取代SQL语句,进行聚类查询、分组查询、排序与时间之差的查询,同时指出hql能代替sql语句做任何事情。我原本以为hql语句的多表查询,要先对里面的实体做Java与xml的修改,其实并不需要,同样是一句HQL语句就能搞定的事情。SQL的多表查询已经在《【Mysql】利原创 2015-06-27 09:20:09 · 14390 阅读 · 0 评论 -
【Spring】在Java使用Spring时的Resource leak: 'applicationContext' is never closed警告
在Java使用Spring的时候,在定义完Spring的核心文件,用准备使用ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");来启动Spring的时候,要是不处理,在eclipse必然会出现Resource leak: 'applicationC原创 2017-11-10 16:23:38 · 4860 阅读 · 3 评论 -
【Spring】整合JDBC连接数据库
Spring其实无须Hibernate和Mybatis等组件,自己就能够借助JDBC连接数据库的。毕竟,在《【Spring】value和ref》(点击打开链接)我早就指出Spring只是一个将Java的各类初始化语句写在xml里面之中而已。Spring可以在Javaee设置数据库的原因,实际上,它是将一些诸如数据库用户名、密码等东西在xml中初始化,让各类数据库组件避免一系列繁琐的XX xx=原创 2017-11-10 17:07:40 · 4032 阅读 · 0 评论 -
【Spring+Mybatis】Spring整合Mybatis
在《【Mybatis】Helloworld》(点击打开链接)大家看到使用Mybatis需要撰写一个数据库连接与配置的xml文件,而Spring具体整合JDBC的功能,具体见《【Spring】整合JDBC连接数据库》(点击打开链接),可以代替Mybatis连接数据库和配置数据库,而直接Mybatis对数据库增删改查的优良特性,这在Java尤其在Javaee的编程具有明显优势,下面举一个例子说明Spr原创 2017-11-17 11:07:02 · 2907 阅读 · 3 评论 -
【Mybatis】Helloworld
Mybatis和Hibernate一样是一个Nosql工具,什么是Nosql?原本,应该在Java中写sql语句,才能对Mysql等数据库进行增删改查,但是经过Nosql工具之后,在Java你只需要一个类方法就能对数据库进行增删改查,当然原本sql的语句还是要写的,只是像Mybatis和Hibernate这些Nosql工具将sql语句和java代码分离开来。且不论这种工具到底好不好,甚原创 2017-11-03 16:40:45 · 1826 阅读 · 0 评论 -
【Spring+SpringMVC+Mybatis】利用SSM整合,完成用户登录、注册、修改密码系统
近年来,由于Struts2+Hibernate3+Spring3,这套SSH框架,Struts2屡次爆出安全漏洞,Hibernate就只会推行它HQL那套而越来越远离SQL查询关系数据库的本质,所以Spring+SpringMVC+Mybatis这套SSM框架悄然兴起,现阶段在Javaee领域,有种新项目必选SSM的趋势。本文将利用一个简单的例子,具体如下图所示,其实也就是把《【Struts2+H原创 2017-11-18 22:35:57 · 43611 阅读 · 19 评论 -
【SpringMVC】Helloworld
SpringMVC就不同于Spring是处理java和xml的数据传输了,SpringMVC是处理views和controllers之间,网页和actions之间,说白了也就是java文件和jsp之间传输的东西。就是Servlet和Struts2那套,具体可以参考《【Servlet】最简单的Servlet JavaWeb程序》(点击打开链接)和《【Struts2】Struts2纯手工安装、配置以及原创 2017-11-15 17:29:58 · 1941 阅读 · 0 评论 -
【SpringMVC】指明actions的后缀
SpringMVC的actions的后缀在web.xml中与org.springframework.web.servlet.DispatcherServlet匹配的节点下的中设置,如下图所示:比如上述web.xml:<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.原创 2017-11-15 17:47:11 · 2986 阅读 · 0 评论 -
【SpringMVC】关于classpath和contextConfigLocation
众所周知,基本上javaee的配置文件都放在WEB-INF之下,javaee网页工程默认读取配置文件也只会在这个目录下面读,但经常看到一些javaee不知道是装逼,还是因为用myeclipse自动生成,还是为了好管理的原因,将工程的配置文件移到其它文件夹,他们基本利用了SpringMVC的contextConfigLocation去完成这件事,contextConfigLocation下面常常也伴原创 2017-11-16 12:05:47 · 10525 阅读 · 3 评论 -
【SpringMVC】Ajax
SpringMVC的Ajax网上大部分的教程都使用@Respondbody然后返回一个map完成,我觉得这样很繁琐,甚至还要自己配上一个json转换包,不然会出现406警告。其实我觉得大可不必这样,毕竟SpringMVC的@RequestMapping方法中,可以用HttpServletRequest request, HttpServletResponse respons作为参数,直接在网页该打原创 2017-11-21 22:48:49 · 862 阅读 · 0 评论 -
【Spring】value和ref
在《【Spring】Spring3.0.5的下载、配置与Helloworld》(点击打开链接)和《【Spring】Spring依赖注入IOC的设值注入setter》(点击打开链接)两篇文章中,我曾写过在bean之下的property中如何value和ref,可惜没有好好总结一番。Spring很多东西你可以不用懂,但是value和ref这两个东西真的很常见。其实也没有什么大不了,基本上value原创 2017-11-08 11:28:31 · 3215 阅读 · 1 评论 -
【Spring】Spring3.x的下载与配置
现时基本上还有大部分应用使用Spring3.x版,因为Spring3.x是支持jdk1.5的最后一版。毕竟还有大部分Java应用依旧使用稳定而且通用的jdk1.5架构的。在《【Spring】Spring3.0.5的下载、配置与Helloworld》(点击打开链接)中,我估计是受到网上的大部分资料和李刚那些疯狂书籍的影响,觉得只能使用Spring3.0.5这个版本,毕竟很多资料写作的时候原创 2017-11-08 09:09:24 · 1925 阅读 · 0 评论 -
【Hibernate】Hibernate3.x独立运行时的Failed to load class "org.slf4j.impl.StaticLoggerBinder"错误
按理说,如果Hibernate不依附于SSH运行,像《【Struts2+Hibernate3+Spring3】利用SSH整合,完成打印用户表,用户登录、注册、修改密码系统》(点击打开链接)一样,把hibernate-distribution-3.6.10.Final解压之后,把根目录的hibernate3.jar,hibernate-distribution-3.6.0.Final\lib\req原创 2015-06-27 09:57:21 · 4488 阅读 · 0 评论 -
【Servlet】把文件写到Respond输出流里面供用户下载
本文区分于《【Jsp】把Java写到Respond输出流里面供用户下载》(点击打开链接)把原本该打印到控制台的内容,直接打印到一个文本文件txt中给用户下载。实际上是《【Struts2】中文文件的下载与下载权限的控制》(点击打开链接)不使用三大框架,纯属使用Servlet去实现,如何把在Tomcat服务端上的文件资源,给用户下载。如下图的JavaEE目录结构,在Tomcat上Servl原创 2015-07-16 16:54:20 · 14730 阅读 · 3 评论 -
【Servlet】Javaweb中文字转图片
本文是《【php】文字转图片》(点击打开链接)在Javaweb的实现。主要还是应对一些网络爬虫对电话号码与邮箱的抓取,同时禁止用户随意复制内容之类的。当然,被转换的文字主要还是数字与英文,中文的转化会乱码。具体是如下效果:不影响视觉效果,但是12345678是一张图片。这一页index.jsp也因此是如此简单:<%@ page language="java" content原创 2015-10-26 11:14:44 · 1855 阅读 · 1 评论 -
【Hibernate】消除Hibernate3.x中query.list()方法的Type safety警告的方法
虽说现在普遍的观点是警告不碍事,基本不管。对于Java的警告,如果有强迫症的话还可以加上@SuppressWarnings("unchecked")注释,但是你没有理由每一个方法都加上这个注释吧?尤其在Hibernate3.x中query.list()方法,因为其返回结果就是list,因此很容易有Type safety警告。Hibernate3.x中query.list()方法在每次数据库原创 2015-11-16 17:11:36 · 2830 阅读 · 1 评论 -
【Hibernate】Hibernate多表查询后,将查询结果转化为实体
在《【Hibernate】Hibernate的多表查询》(点击打开链接)一文中,已经介绍过,如果利用HQL语句进行多表查询,摆脱查完一张表又取其中的结果再查另一张表的问题。然而,利用HQL语句查询出来的东西,是一个Object数组,我们要进一步对其处理,将其转化为表的实体的实例。有如下的一个Java工程如《【Hibernate】Hibernate3.x独立运行时的Failed to load原创 2015-11-16 16:18:33 · 10723 阅读 · 0 评论 -
【SVN】修改MyEclipse中的SVN地址
服务器的SVN的网络地址经过重新部署,MyEclipse中的项目是无须删掉重新下载,再将自己的修改补上去的。完全可以通过修改MyEclipse中的SVN地址的方式,让团队项目重新与SVN服务器接上。就像电器插头拔了再插一样,电器照样能够运行,具体做法如下:1、在MyEclipse中选择Windows->Show View->others如下图所示(Eclipse也同理),会出现如下图所示的画面原创 2016-04-09 16:23:15 · 12186 阅读 · 0 评论