JavaWeb
文章平均质量分 66
wkcgy
Change My Life With These ABCs.......
展开
-
jsp url传递参数乱码
<br /> 废话不多说了,方案有两种:<br />一.request.setCharacterEncoding("utf-8");<br /> String str = new String(request.getParameter("id").getBytes("iso8859-1"), "utf-8");<br />二.改变tomcat对url的编码<br /> 在server.xml中进行设置:<br /><Connector port="80" protocol="HTTP/原创 2011-05-10 16:33:00 · 713 阅读 · 0 评论 -
解决Myeclipse不能自动编译的问题
<br />Myeclipse不能自动编译java类,造成这种状况的原因很多。以下是解决方案:<br /> 1. 确保 project->build automatically 已经被选上.这时候可以使用两种方法,一个是在未选中build automatically之前,手动编译项目文件;然后选中build automatically自动编译文件。<br /> <br /> 2. 如果选上了,也不好使, 使用这一招: project->clean..->选第2个clean select原创 2011-02-12 10:20:00 · 885 阅读 · 0 评论 -
PO/VO/DAO/BO/POJO是什么(JAVA几种对象的解释)
PO/VO/DAO/BO/POJO是什么(JAVA几种对象的解释)原文来自:野蔷薇 http://www.yeqiangwei.com/club/f4b0l0fp1t342010p1.html PO:persistant object持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作. VO:value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是转载 2011-02-16 10:59:00 · 559 阅读 · 0 评论 -
用过滤器解决jsp乱码问题!!
乱码问题一直是困扰大家的尤其是像我们这种菜鸟界别的任务的大问题。下面说一下用filter解决jsp的乱码问题:Filter代码package com.wk.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; imp原创 2011-03-04 10:46:00 · 659 阅读 · 0 评论 -
EL表达式
<br /><br />EL 全名为Expression Language<br />EL 语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构:<br />${sessionScope.user.sex}<br />所有EL都是以${为起始、以}为结尾的。上述EL范例的意思是:从Session的范围中,取得<br />用户的性别。假若依照之前JSP Scriptlet的写法如下:<br />User user = (User)session.getAttribute("user");<b转载 2011-02-13 22:58:00 · 602 阅读 · 0 评论 -
自定义jsp页面的404——500错误
<br />将下面的代码加入到web.xml文件中<br /><!-- 404|500 http://www.dukai168.cn--> <!-- 404 页面不存在错误 --> <error-page> <error-code>404</error-code> <location>/error/error.htm</location> </error-page> <!-- 500 服务器内部错误 --> <error-page> <原创 2011-02-12 20:55:00 · 1494 阅读 · 2 评论 -
Tomcat6 配置多虚拟主机,多域名绑定一IP
搞了Tomcat6配置多虚拟主机很久,终于OK了。真是够吐血的,记录下来,方便以后查阅了。实现效果:http://localhost 访问一个项目例如一个助学网。http://localhost1 访问一个项目例如一个办公系统实现方案,需要修改两个地方一个是C:/WINDOWS/system32/drivers/etc/hosts文件,改为127.0.0.1 localhost127.0.0.1 localhost1另一个要改的就是server.xml,修改后如下:转载 2011-03-02 19:36:00 · 851 阅读 · 0 评论 -
java 连接access数据库!!
<br /> 使用Java访问Access数据库一般使用JDBC-ODBC桥驱动,驱动是JDK自带的驱动,不用下载即可使用。<br /> (1)、代码如下。<br />import java.sql.*;<br />import java.io.*;<br /> <br />class Access{<br /> public static void main(String[] args){<br /> String url="jdbc:odbc:dri原创 2010-11-17 17:13:00 · 529 阅读 · 0 评论 -
五种JSP页面跳转方法详解
<br /><br />1. RequestDispatcher.forward()<br />是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递. 但forward()无法重定向至有frame的jsp文件,可以重定向至有fr转载 2010-11-20 13:12:00 · 555 阅读 · 0 评论 -
向数据库中存储空值
<br /> 如果像数据库中存储空值“”或者null,那么他存入数据库中以后会以什么形式存储,如果你想从数据库中取出这条值,那么他的整值又会以什么形式展现。关于这个疑问是在我做一个项目的时候,我像数据库中存入“”值,但是取出这条记录的时候再作判断,然后输出。但是就是这个过程浪费了将近一下午的时间,原因是太想当然了。所以总结了一下,结论大概是这样的:<br />1.在mysql数据库中:如果向mysql中存入null值,那么在数据库中还是null值,打印的结果还是null值;如果向mysql中存入“原创 2011-02-15 10:16:00 · 2292 阅读 · 0 评论 -
java五种拼接字符串的方法
<br />package test;import org.apache.commons.lang.StringUtils;public class CutString { //性能最差 public String testPlus() { String s = ""; for (int i = 0; i < 10000; i++) { s = s + String.valueOf(i); } return s; } //较好 public Str原创 2011-02-16 20:12:00 · 982 阅读 · 0 评论 -
java String与Date类型之间的相互转换
package test;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.text.ParseException;import java.util.Date;public class StringOrDate { public static String dateToString(Date date, String type) { String str = null; Da原创 2011-02-16 20:11:00 · 531 阅读 · 0 评论 -
java以Blob形式存储,读取图片并在jsp页面显示图片流
废话少说代码伺候:封装好的ImageUtil类:目的读取本地的图片文件并存入数据库,然后读出数据库中以Blob形式存储的图片保存到指定目录。package org.blog.util;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;原创 2011-04-30 20:33:00 · 8198 阅读 · 1 评论 -
浅析J2EE的DAO模式
DAO是J2EE设计模式中一种重要的设计模式。它上与BO(Business Object)业务逻辑层相连,下与数据源相逼,其重要性就不言而喻了。举一个简单的例子:分页。分页是系统中非常常见的功能模块。我们用两种方式来模拟一下这个功能:纯净的JSP,还有JSP+DAO。纯jsp的方式:我们会在页面里直接直接上sql语句:SELECT ...FROM ... LIMIT n,m。如果我们系统中有好多个模块都要用到分页的功能,那这块管理分页的程序会立马出现在好多个页面上,这时候再加上数据库的连接关闭,或者其他的业原创 2011-04-24 22:20:00 · 863 阅读 · 0 评论 -
xp下安装SVN和Apache2.2
<br />首先安装apache,一般来说直接点下一步就可以了,在设置domain以及host的时候,设置为localhost就可以了, <br />Email你可以填你自己的Email,也可以随便填一个.安装apache要注意的是,你的电脑上80端口不能被占用, <br />否则你的http服务是启动不起来的,我就遇到过这事,因为我用了skype,它在本机上打开了80和443端口来监听, <br />搞得我一开始装不好,总是启动不起来,后来才发现是skype占用了80端口,于是把skype的设置改了以后,原创 2011-04-13 16:19:00 · 487 阅读 · 0 评论 -
JPA 泛型DAO 封装
对于在Web容器中使用EntityManager对象,这里需要做一些改进,才能更安全。Servlet是非线程安全的,所以需要改变获得EntityManager对象的方式,这里使用ThreadLocal类。 ThreadLocal就是为每一个使用某变量的线程都提供一个该变量值的副本,使每一个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有一个该变量,这就解决了Servlet非线程安全的问题。 以下EntityManager对象非容器E转载 2011-03-22 20:24:00 · 2915 阅读 · 1 评论 -
Tomcat:IOException while loading persisted sessions: java.io.EOFException异常处理
<br /><br />Tomcat在启动时出现如下异常问题:<br />严重: IOException while loading persisted sessions: java.io.EOFException<br />严重: Exception loading sessions from persistent storage<br />是因为保存在硬盘上的session数据读取失败,问题似乎不大,但是如果不处理一下,每次启动都会出现这个问题,处理方法如下:<br />将work下面的文件清空,主要是转载 2011-03-19 21:16:00 · 452 阅读 · 0 评论 -
java.lang.OutOfMemoryError: PermGen space及其解决方法
(一 )java.lang.OutOfMemoryError: PermGen space及其解决方法 1、PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,G原创 2011-03-19 21:16:00 · 614 阅读 · 0 评论 -
Intellij快捷键
<br /><br />Alt+回车 导入包,自动修正<br />Ctrl+N 查找类<br />Ctrl+Shift+N 查找文件<br />Ctrl+Alt+L 格式化代码<br />Ctrl+Alt+O 优化导入的类和包<br />Alt+Insert 生成代码(如get,set方法,构造函数等)<br />Ctrl+E或者Alt+Shift+C 最近更改的代码<br />Ctrl+R 替换文本<br />Ctrl+F 查找文本<br />Ctrl+Shift+Space 自动补全代码<br转载 2011-03-14 14:56:00 · 1017 阅读 · 0 评论 -
拦截器和过滤器有什么区别(JAVA/struts2.0)
<br /><br />(转)拦截器是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法 <br />比如动态代理就是拦截器的简单实现, <br />public Object invoke(Object proxy, Method method, Object[] args) throws Throwable <br />{ <br />Object result = null; <br /><br />System.out.println("before in转载 2011-03-11 15:31:00 · 911 阅读 · 0 评论 -
[Microsoft][ODBC Microsoft Access Driver] 试图将 Null 值赋予一个非 Variant 数据类型的变量
<br /> 今天写代码的时候遇到了一个这样的小问题记录下来(使用的是access数据库)<br />sun.jdbc.odbc.JdbcOdbcBatchUpdateException: [Microsoft][ODBC Microsoft Access Driver] 试图将 Null 值赋予一个非 Variant 数据类型的变量。 at sun.jdbc.odbc.JdbcOdbcPreparedStatement.emulateExecuteBatch(JdbcOdbcPreparedSt原创 2011-01-14 20:27:00 · 2834 阅读 · 0 评论 -
进行数据库操作时出现”非法的事务状态“的错误!!!
<br /><br />今天是气坏了把我!!出现了下面的错误!!<br />java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]非法的事务状态<br />at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)<br />at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)<br />at sun原创 2010-11-19 20:58:00 · 1344 阅读 · 0 评论 -
Java测试工具JUnit_1
1.简介 在一篇早些的文章(请参见Test Infected: Programmers Love Writing Tests, Java Report, July 1998, Volume 3, Number 7)中,我们描述了如何使用一个简单的框架来编写可重复的测试。在本文中我们将匆匆一瞥其内中细节,并向你展示该框架本身是如何被构造的。 我们细致地研究JUint框架并思索如何来构造它。我们发现了许多不同层次上的教训。在本文中,我们将尝试着立刻与它们进行沟通,这是一个令人绝望的任务,但至少它是在我们向你转载 2010-10-17 12:44:00 · 435 阅读 · 0 评论 -
JS学习笔记
<br /><br />1.JavaScript中的对象 <br />分为3种。 <br />(1)JavaScript的内置对象 <br />常用的有Date,Array,String,Math,对象,这些都是经常会用到的,一定要掌握好。 <br />(2)文档对象模型(Document Object Model,DOM) <br />这个对象表示了当前浏览器的多个组件和当前的HTML文档。DOM我认为是JS中最重要的一个对象,通过他可以获得任何一个HTML元素,1.通过document.form1.na转载 2010-10-16 00:25:00 · 753 阅读 · 0 评论 -
在Eclipse中使用JUnit4进行单元测试(高级篇)
一、 高级Fixture上一篇文章中我们介绍了两个Fixture标注,分别是@Before和@After,我们来看看他们是否适合完成如下功能:有一个类是负责对大文件(超过500兆)进行读写,他的每一个方法都是对文件进行操作。换句话说,在调用每一个方法之前,我们都要打开一个大文件并读入文件内容,这绝对是一个非常耗费时间的操作。如果我们使用@Before和@After,那么每次测试都要读取一次文件,效率及其低下。这里我们所希望的是在所有测试一开始读一次文件,所有测试结束之后释放文件,而不是每次测试都读文转载 2010-10-17 13:48:00 · 653 阅读 · 0 评论 -
在Eclipse中使用JUnit4进行单元测试(中级篇)
<br /><br />我们继续对初级篇中的例子进行分析。初级篇中我们使用Eclipse自动生成了一个测试框架,在这篇文章中,我们来仔细分析一下这个测试框架中的每一个细节,知其然更要知其所以然,才能更加熟练地应用JUnit4。<br />一、 包含必要地Package<br />在测试类中用到了JUnit4框架,自然要把相应地Package包含进来。最主要地一个Package就是org.junit.*。把它包含进来之后,绝大部分功能就有了。还有一句话也非常地重要“import static org.转载 2010-10-17 13:47:00 · 447 阅读 · 0 评论 -
在Eclipse中使用JUnit4进行单元测试(初级篇)
<br /><br />我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测试我们称之为单元测试。传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个转载 2010-10-17 13:46:00 · 572 阅读 · 0 评论 -
Java测试工具JUnit_4
这会很好地工作,但它需要我们手动地将所有测试添加到一个套件中。早期的JUnit采用者告诉我们这样是愚蠢的。只要你编写一个新的测试案例,你就必须记着要将其添加到一个static的suit()方法中,否则其将不会运行。我们添加了一个TestSuit的便捷构造方法,该构造方法将测试案例类作为一个参数。其意图是提取(extract)测试方法,并创建一个包含这些测试方法的套件。测试方法必须遵循的简单的约定是,以前缀“test”开头且不带参数。便捷构造方法就使用该约定,通过使用反射发现测试方法来构造测试对象。使用该构造转载 2010-10-17 12:47:00 · 514 阅读 · 0 评论 -
JUnit单元测试原则
<br /><br />一、测试原则<br /> Java语言是一个支持面向对象的语言,通常情况下我们可以将程序的一个单元看成是一个独立的类,因此进行单元测试的重点就是对这些类进行测试。<br /> 1、不需要测试get和set这样的行为<br /> 2、一个方法至少需要测试一次<br /> 二、测试步骤<br /> 1、判断组件的功能:通过定义应用的整体需求,然后将系统划分成几个对象,我们需要对组件的基本功能十分清楚。因此,J2EE单元测试实际上也属于设计过程的一部分。<br /> 2、设计组转载 2010-10-17 12:44:00 · 1041 阅读 · 0 评论 -
类命名规范、数据库命名规范和页面文件命名规范
<br /><br />一、类命名规范<br /> 1. Entity层 :<br /> 继承关系:所有类继承自BasicEntity, 其中BasicEntity实现 java.io.Serializable接口;<br /> 命名规则: 类名称 = Object + 类后缀,其中类后缀为 Bean,如:SalesOrderBean<br /> 2. Form层 :<br /> 继承关系:所有类继承自BasicForm, 由于本项目基于Struts结转载 2010-10-12 20:29:00 · 611 阅读 · 0 评论 -
基于Mysql的分页显示
<br /> <br />代码写在了下面,可以将Java代码进行封装,然后直接页面调用就行了,这样直接写在jsp页面中显得比较混乱,不过写下来防止忘记,方便查阅!!<br /> <br /><%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><br /><%@ page import="java.sql.*;"%><br /><%<br /> String path = request.getContextPath原创 2010-10-05 12:23:00 · 513 阅读 · 0 评论 -
java测试工具JUnit_2
按照框架规定:编写的所有测试类,必须继承自junit.framework.TestCase类;里面的测试方法,命名应该以Test开头,必须是public void 而且不能有参数;而且为了测试查错方便,尽量一个TestXXX方法对一个功能单一的方法进行测试;使用assertEquals等junit.framework.TestCase中的断言方法来判断测试结果正确与否。 你可以对比着上面测试类中的实现来体会下规定——很简单!而且你在这个测试类中有加入多少个测试方法,就会运行多少个测试方法。四、向转载 2010-10-17 12:46:00 · 497 阅读 · 0 评论 -
Java测试工具JUnit_3
在下面的设计快照中,添加进了Adapter和Pluggable Selector。图4 TestCase应用Adapter(与一个匿名内部类一起)或Pluggable Selector 3.5 不必关心一个或多个-TestSuit 为了获得对系统状态的信心,我们需要运行许多测试。到现在为止,JUnit能够运行一个单独的测试案例并在一个TestResult中报告结果。我们接下来的挑战是要对其进行扩展,以使其能够运行许多不同的测试。当测试调用者不必关心其运行的是一个或多个测试案例时,这个问题便能够轻松地解决转载 2010-10-17 12:46:00 · 487 阅读 · 0 评论 -
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 不能更新;当前正在被机器 '20090804-1122' 上的用户 'admin' 锁定。
<br />这样的错误,真的还是第一次看到,一时摸不到头脑了!不过在Google中搜索一会找到了一篇不错的解决方法!如下:(谢谢本文的作者)<br />先声明这不是我们编程的错误,因为如果再次(再再次)提交的话就会成功的插入或修改数据的。<br /><br />问题描述:<br />在使用JDBC ODBC连接MS Access数据库时,插入Insert或更新Update数据时经常会发生如下错误:<br />java.sql.SQLException: [Microsoft][ODBC Microsoft原创 2010-12-08 22:17:00 · 5708 阅读 · 0 评论 -
命令行实现国际化
<br />1. 文件的国际化: 在命令行中敲入命令--native2ascii -encoding gb2312 要转换的资源文件(d:/demo.propertise) 目标资源文件(d:/demo_zh.propertise)即可把相应的文件进行国际化。<br />2. 文字的国际化:在命令行中敲入命令--native2ascii 然后输入想要进行国际化的文字,即可得到相应的国际化编码。原创 2010-11-16 10:28:00 · 580 阅读 · 0 评论 -
Log4j的使用
<br />一、介绍<br />Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。<br />Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、转载 2010-11-16 19:44:00 · 399 阅读 · 0 评论 -
Google和百度、雅虎的站内搜索代码
<br />对于一个网站来说,使用搜索引擎来进行站内搜索往往比自己编写的站内搜索更高效,并且不占用网站服务器的资源,下面是我搜集到的几个主要搜索引擎(Google和百度、雅虎)的站内搜索代码,使用时只需要将代码里的"www.williamlong.info"替换成你的网址即可。<br /><!--Google站内搜索开始--><br /><form method=get action="http://www.google.com/search"><br /><input type=text na转载 2010-11-09 09:58:00 · 550 阅读 · 0 评论 -
关于最近写的一个网站的总结!!
<br /> 最近做了一个网站,主要技术就是struts2+mysql。因为这是自己第一个做的比较大型的项目,在做项目的时候学习了不少东西!!因为自己不喜欢总结知识,所以好多东西都给忘了!!随学随忘,感觉挺不爽的,所以今天来总结一下自己做的那个项目!!<br /> 1. 关于struts2的,就是在写url地址或action是尽量吧.action协商,虽然说比高版本的struts是不用写全action也可以通过action名称来直接访问,但是为了确保万无一失最好还是要写上。<br />原创 2010-11-09 00:24:00 · 734 阅读 · 2 评论 -
B/S与C/S的介绍与比较
<br />关键字: c/s b/s比较 一、什么是C/S和B/S <br /><br />要想对“C/S”和“B/S”技术发展变化有所了解,首先必须搞清楚三个问题。 <br /><br />第一、什么是C/S结构。 <br />C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应转载 2010-11-03 19:29:00 · 842 阅读 · 0 评论 -
JSP静态化
<br />首先说说为什么要静态化。<br />对于现在的Web Application来说,动态页面是占有绝对高的地位的,正因为有了动态化,才有了现在Web的丰富多彩,但是如同所有别的事实一样,好处往往都是有代价的。<br />为了产生出动态的效果,每一次对页面的请求都会要求服务器对页面进行编译或者执行,这些操作都很消耗系统资源。如果这期间还有和数据库的通讯,那么代价将会更大。<br />如果一个页面在一定的时间内,其内容没有发生改变,那么就不必为每一次对它的访问进行一次“新”的编译或执行。我原创 2010-11-02 11:15:00 · 553 阅读 · 0 评论