
Javaweb
文章平均质量分 90
yongh701
这家伙很聪明,什么都没有留下
展开
-
【SpringMVC】文件上传
文件上传自然是一个网站必不可少的元素之一,SpringMVC这个网站编程框架自然也有这个东西,下一面举一个例子说明这个问题。如下图所示,一个简单的上传控件,只让上传bmp、gif、jpg/jpeg、png这些图片文件,成功上传之后并现实,而类似exe这些东西则不让上传,返回信息。一、基本配置1、首先,在做SpringMVC的文件上传之前,除了在《【Spring】Spri原创 2017-11-28 12:00:39 · 883 阅读 · 0 评论 -
【SpringMVC】Ajax
SpringMVC的Ajax网上大部分的教程都使用@Respondbody然后返回一个map完成,我觉得这样很繁琐,甚至还要自己配上一个json转换包,不然会出现406警告。其实我觉得大可不必这样,毕竟SpringMVC的@RequestMapping方法中,可以用HttpServletRequest request, HttpServletResponse respons作为参数,直接在网页该打原创 2017-11-21 22:48:49 · 898 阅读 · 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 · 43749 阅读 · 19 评论 -
【Spring+Mybatis】Spring整合Mybatis
在《【Mybatis】Helloworld》(点击打开链接)大家看到使用Mybatis需要撰写一个数据库连接与配置的xml文件,而Spring具体整合JDBC的功能,具体见《【Spring】整合JDBC连接数据库》(点击打开链接),可以代替Mybatis连接数据库和配置数据库,而直接Mybatis对数据库增删改查的优良特性,这在Java尤其在Javaee的编程具有明显优势,下面举一个例子说明Spr原创 2017-11-17 11:07:02 · 2976 阅读 · 3 评论 -
【SpringMVC】关于classpath和contextConfigLocation
众所周知,基本上javaee的配置文件都放在WEB-INF之下,javaee网页工程默认读取配置文件也只会在这个目录下面读,但经常看到一些javaee不知道是装逼,还是因为用myeclipse自动生成,还是为了好管理的原因,将工程的配置文件移到其它文件夹,他们基本利用了SpringMVC的contextConfigLocation去完成这件事,contextConfigLocation下面常常也伴原创 2017-11-16 12:05:47 · 10584 阅读 · 3 评论 -
【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 · 3084 阅读 · 0 评论 -
【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 · 1981 阅读 · 0 评论 -
【Spring】整合JDBC连接数据库
Spring其实无须Hibernate和Mybatis等组件,自己就能够借助JDBC连接数据库的。毕竟,在《【Spring】value和ref》(点击打开链接)我早就指出Spring只是一个将Java的各类初始化语句写在xml里面之中而已。Spring可以在Javaee设置数据库的原因,实际上,它是将一些诸如数据库用户名、密码等东西在xml中初始化,让各类数据库组件避免一系列繁琐的XX xx=原创 2017-11-10 17:07:40 · 4101 阅读 · 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 · 4926 阅读 · 3 评论 -
【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 · 3273 阅读 · 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 · 1997 阅读 · 0 评论 -
【Mybatis】Helloworld
Mybatis和Hibernate一样是一个Nosql工具,什么是Nosql?原本,应该在Java中写sql语句,才能对Mysql等数据库进行增删改查,但是经过Nosql工具之后,在Java你只需要一个类方法就能对数据库进行增删改查,当然原本sql的语句还是要写的,只是像Mybatis和Hibernate这些Nosql工具将sql语句和java代码分离开来。且不论这种工具到底好不好,甚原创 2017-11-03 16:40:45 · 1855 阅读 · 0 评论 -
【Struts2】让地址栏显示返回实际jsp的的实际位置
比如在工程中struts.xml中有如下配置: /index.jsp所有网页工程中,指向login的action,处理完之后,地址栏会显示http://localhost:8080/某某工程/login。而不是http://localhost:8080/某某工程/index.jsp,这对于浏览者或者在调试中再次刷新页面,极其不方便,我们更多地,是习惯如下的效果:原创 2016-07-21 17:46:46 · 2358 阅读 · 0 评论 -
【SVN】修改MyEclipse中的SVN地址
服务器的SVN的网络地址经过重新部署,MyEclipse中的项目是无须删掉重新下载,再将自己的修改补上去的。完全可以通过修改MyEclipse中的SVN地址的方式,让团队项目重新与SVN服务器接上。就像电器插头拔了再插一样,电器照样能够运行,具体做法如下:1、在MyEclipse中选择Windows->Show View->others如下图所示(Eclipse也同理),会出现如下图所示的画面原创 2016-04-09 16:23:15 · 12229 阅读 · 0 评论 -
【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 · 2854 阅读 · 1 评论 -
【Hibernate】Hibernate多表查询后,将查询结果转化为实体
在《【Hibernate】Hibernate的多表查询》(点击打开链接)一文中,已经介绍过,如果利用HQL语句进行多表查询,摆脱查完一张表又取其中的结果再查另一张表的问题。然而,利用HQL语句查询出来的东西,是一个Object数组,我们要进一步对其处理,将其转化为表的实体的实例。有如下的一个Java工程如《【Hibernate】Hibernate3.x独立运行时的Failed to load原创 2015-11-16 16:18:33 · 10790 阅读 · 0 评论 -
【Servlet】Javaweb中文字转图片
本文是《【php】文字转图片》(点击打开链接)在Javaweb的实现。主要还是应对一些网络爬虫对电话号码与邮箱的抓取,同时禁止用户随意复制内容之类的。当然,被转换的文字主要还是数字与英文,中文的转化会乱码。具体是如下效果:不影响视觉效果,但是12345678是一张图片。这一页index.jsp也因此是如此简单:<%@ page language="java" content原创 2015-10-26 11:14:44 · 1879 阅读 · 1 评论 -
【Servlet】把文件写到Respond输出流里面供用户下载
本文区分于《【Jsp】把Java写到Respond输出流里面供用户下载》(点击打开链接)把原本该打印到控制台的内容,直接打印到一个文本文件txt中给用户下载。实际上是《【Struts2】中文文件的下载与下载权限的控制》(点击打开链接)不使用三大框架,纯属使用Servlet去实现,如何把在Tomcat服务端上的文件资源,给用户下载。如下图的JavaEE目录结构,在Tomcat上Servl原创 2015-07-16 16:54:20 · 14785 阅读 · 3 评论 -
【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 · 4530 阅读 · 0 评论 -
【Hibernate】Hibernate的多表查询
在《【Hibernate】Hibernate的聚类查询、分组查询、排序与时间之差》(点击打开链接)一文中已经讲述过如何利用HQL语句取代SQL语句,进行聚类查询、分组查询、排序与时间之差的查询,同时指出hql能代替sql语句做任何事情。我原本以为hql语句的多表查询,要先对里面的实体做Java与xml的修改,其实并不需要,同样是一句HQL语句就能搞定的事情。SQL的多表查询已经在《【Mysql】利原创 2015-06-27 09:20:09 · 14555 阅读 · 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 · 4738 阅读 · 0 评论 -
【Servlet】利用JSTL表达式,C标签的循环与判断,对数据库查询内容进行分页
分页技术在很多地方都有使用,几乎在超过30条数据需要显示页面,你不得不利用get方法对其进行分页,总不能一次性地在一个页面呈现给用户,而在JavaWeb中实现分页一点也不难,关键是处理好几个关键参数,下面举一个例子说明这个问题。一、基本目标在数据库中有张已经被我用烂的Testtable表。这张表有17条记录,自增的ID是断裂的,也就是说不是按照1、2、3、4……排列下去原创 2015-06-05 19:22:16 · 5275 阅读 · 0 评论 -
【Servlet】Javaweb中获取任意个参数
总有这样的情况,传递到后台处理方法的参数数目不知道。比如某个前台以前要传递给getAllParameter这个Servlet的参数位置。而又要再Servlet对不定长的参数进行一一分解,这该怎么办呢?下面做一个简单的Javaweb工程来说明这个问题,整个Javaweb工程就getAllParameter.java这个Servlet如下图所示,无论传递给getAllParam原创 2015-05-22 19:44:09 · 2979 阅读 · 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 · 3146 阅读 · 0 评论 -
【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 · 2662 阅读 · 0 评论 -
【Struts2+Hibernate3+Spring3】利用SSH整合,完成打印用户表,用户登录、注册、修改密码系统
本文视图尽可能不杂糅其它技术,尽可能少写代码,完成SSH整合。以致于各位在现有网上资料越来越天花龙凤之下,清晰地了解到传说中的三大框架SSH是怎么整合的。一、SSH的下载首先SSH的下载就已经是一个难点。SSH三个地方同时推出各自的新技术,已经要求利用Maven完成其版本的同步。毕竟Spring的版本,决定其能整合什么版本的Struts与Hibernate。Spring3.0.5就原创 2015-05-11 09:53:40 · 9692 阅读 · 17 评论 -
【Spring】Spring在JavaWeb工程中整合log4j
在《【Spring】Spring3.0.5的下载、配置与Helloworld》(点击打开链接)一文各位已经可能看到了。如果Spring不整合log4j直接启动,则会出现如下关于Spring整合log4j的警告。这个挺烦人的,一方面自己提倡高内聚,低耦合,另一方面,自己没有整合log4j就提出警告。我们程序猿写出来的程序就叫做“耦合”,它Spring就叫做“整合”。好吧!你只能同时搞明白,log4j原创 2015-05-10 10:16:11 · 5783 阅读 · 1 评论 -
【Spring】Spring依赖注入IOC的设值注入setter
其实标题中如此高大上的名词,只是一个问题,关于在Spring的applicationContext.xml中的如下语句是什么意思?这类语句在SSH的配置中会大量存在,因为Spring所谓的核心机制就是Spring依赖注入IOC。下面举一个例子说明这个问题:先贴上目录结构:在Eclipse中新建一个Java工程,不是JavaWeb,在这个Java配置好Spring3.0.5,这个原创 2015-05-08 11:16:40 · 2977 阅读 · 0 评论 -
【Spring】Spring3.0.5的下载、配置与Helloworld
Spring这东西其实没有想象中这么难,只是由于网上大部分资料杂糅了许多其它奇奇怪怪的技术,什么Maven,log4j,什么东西都来,还有上来就将SSH整合的,那叫初学者,怎么可能看懂?下面以一个最简单,无其它额外的技术,讲解一下Spring。一、Spring下载首先,Spring的下载就是一个问题。这些框架的官网改来改去,然后在强推其新技术,把历史版本通通都去掉了。正如ExtJs原创 2015-05-08 10:01:04 · 4382 阅读 · 2 评论 -
【Servlet】Servlet3.0与纯javascript通过Ajax交互
这是一个老生常谈的问题,对于很多人来说应该很简单。不过还是写写,方便Ajax学习的后来者。虽然js.html是一个纯静态的页面,但是以下的程序必须挂在Tomcat服务器上,才能做到Ajax交互,否则看不出效果的。Eclipse for javaee注意把做好的工程挂在Tomcat上,才运行Tomcat。本工程除了JSP必须的Servlet包以外,无须引入其它东西。其实想直接用一个JSP页面完成这个原创 2015-05-07 11:21:38 · 7371 阅读 · 7 评论 -
【Hibernate】Hibernate的聚类查询、分组查询、排序与时间之差
在Hibernate中的HQL语句其实能够基本能够实现SQL语句所做的事情,正如jQuery至于javascript一样。虽然HQL语句是对类的查询,但是HQL在实行聚类查询、分组查询、排序与时间之差等查询,也无须把查询结果查询出来,再通过对List的处理才得到结果。比如有一张如下的Testtable表:要像《【Mysql】求出离最近相差X天的项,sql语句关于日期的比对》(点击打原创 2015-04-20 10:37:41 · 6325 阅读 · 0 评论 -
【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 · 43979 阅读 · 1 评论 -
【Jsp】把Java写到Respond输出流里面供用户下载
把Java中的内容输出到文件大家都会了,输入输出流是每一个Java程序猿的必须课。在《【Java】打印流与缓冲区读者完成输入与输出到文件操作》(点击打开链接)与《【Java】输入与输出与JDK1.5之后的新型字符串StringBuilder》(点击打开链接)之中,我都说过这个问题。但是在Jsp上,怎么把Java内容直接把文件写到网页上给用户下载呢?一般一些导出功能实现,就需要这样弄。具体如下图原创 2015-04-09 19:38:46 · 5522 阅读 · 1 评论 -
【SVN】提交文件时,文件被锁定,重启也无法提交的问题
SVN提交文件时,文件被锁定,重启也无法提交的问题主要是因为上次SVN提交时,出现了网络问题,然后久久无法返回一个成功或者失败的结果,导致你的Eclipse/MyEclipse卡死,然后你强行中断Eclipse/MyEclipse所造成的。之后无论你提交多少次,也会出现如下的,文件被锁定的提示了:*那马赛克是我公司的项目,这马赛克不得不打,你懂的,呵呵此时,你首先要搞清楚一个问原创 2015-04-03 09:30:41 · 7588 阅读 · 2 评论 -
【Servlet+Struts2】文件下载时抛出java.lang.IllegalStateException异常的解决方法
java.lang.IllegalStateException这种异常,不代表文件不能下载,不代表程序写错,它在Tomcat抛出完异常之后依然能够正常运行的。只是看着不爽而已,每次下载都要在Tomcat抛出一大堆异常。java.lang.IllegalStateException主要是用了后台把文件丢进respond的缓冲区,然后respond再把下载的文件扔回JSP的情况所造成的。Servl原创 2015-04-02 10:44:23 · 1891 阅读 · 0 评论 -
【Struts2+Hibernate4】按照MVC思想使用Hibernate查询数据库,并且在前台使用OGNL表达式输出
本文将介绍Struts2与Hibernate的整合,两东西的整合并不需要用到Spring,完全可以各司其职,Struts2完成Java文件与Jsp页面交互,Hibernate完成数据库到Java文件的交互。一、基本目标还是那张在Mysql中已经用烂的Testtable表。在index.jsp点击查询之后,能够把这张表的所有内容输出出来。而且表格是梅花间竹的不同颜色。当然原创 2015-03-30 19:04:02 · 2378 阅读 · 2 评论 -
【Hibernate】Hibernate的层次划分,Hibernate4.3的初始化的新写法
在《【Hibernate】Hibernate的在Eclipse+Mysql的配置、安装,纯Java,利用Annotation与HQL完成数据库的增删改查》(点击打开链接)介绍了Hibernate的配置与基本结构,其作用就是数据库与Java文件的交互媒介。但是,上文的程序写得非常乱,也用很多Hibernate3的过时写法。主要是没有划分好层次所致。其实,虽然Hibernate的初始化越搞越复杂,首先原创 2015-03-29 19:27:37 · 1842 阅读 · 0 评论 -
【Struts2】文件的上传与上传权限的控制
很多关于Struts2的文章,对此都有详细的介绍,但是里面的示例的程序写得很糟糕。各种无意义的拦截器技术、国际化技术、初始化参数,把原本简单的程序弄得很繁琐。同时,部分关键的代码没有写。导致每次上传Tomcat都报Unable to find 'struts.multipart.saveDir' property setting.的警告。然后上传大点的文件,整个Web工程就崩溃,然后后台抛出大段的原创 2015-03-29 15:07:59 · 2356 阅读 · 0 评论 -
【Javaweb】修改Eclipse for JavaEE中新建Jsp的默认编码,避免每次新建都要改编码的问题
Eclipse for JavaEE中新建Jsp的默认编码是ISO-8859-1,这让人非常苦恼,每次新建一个Jsp都要按Ctrl+F,把所有ISO-8859-1替换成utf-8,才可以。具体如下图:这都什么年代呢?连2010出版的Dreamweaver CS4的默认编码都是utf-8,已经不是Dreamweaver 8的gbk了。这都什么年代了,Eclipse for Jav原创 2015-03-29 10:02:26 · 4051 阅读 · 0 评论 -
【Javaweb】后台的字符串转义,入库之前记得先对字符串转义防止sql注入问题
在《【JavaScript】某些字符不转义可以导致网页崩溃与涉及转义字符的显示方法》(点击打开链接)提及到一种表单之前,必须把表单的输入框的内容转义的方法,但是,其实这种字符串的转义更加应该放在后台中进行。这样同时能够有效地防止sql注入的问题。所谓的sql注入是什么呢?比如,你做了一个登录功能什么的。你必须把根据用户输入的用户名,查询存放在数据库的密码的,然后与密码比对是不是?selec原创 2015-03-28 10:39:58 · 3528 阅读 · 0 评论