Struts是Apache Jakarta的一个著名的开源项目,目标是为构建基于Java的web应用程序提供一个框架。
Struts提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:
* Bean Tags:该标签库包含的标签可以用来创建bean、访问bean和访问bean的属性。同时提供了依据cookies、headers和parameters的值创建相关bean的能力。
* HTML Tags:该标签库包含的标签可以用来创建Struts输入表单。
* Logic Tags:该标签库包含的标签可以用来进行逻辑判断、集合迭代和流程控制。
* ...
从Struts源码看action调用过程,以下代码片断来自struts1.1
struts中所有的请求都是通过ActionServlet转发的,一个action请求首先会传给 ActionServlet,ActionServlet会将其委托给RequestProcessor,RequestProcessor进行一些处理后将调用对应的Action类来执行该请求。
ActionServlet、RequestProcessor、Action的职责
ActionServlet负责通过Struts配置文件初始化Struts应用程序的配置,并负责接受用户请求。
RequestProcessor负责与请 ...
/*
经测试,在 14483461 条记录中查询第 100000 页,每页 10 条记录按升序和降序第一次时间均为 0.47 秒,第二次时间均为 0.43 秒,测试语法如下:
exec GetRecordFromPage news,newsid,10,100000
news 为 表名, newsid 为关键字段, 使用时请先对 newsid 建立索引。
*/
/*
函数名称: GetRecordFromPage
函数功能: 获取指定页的数据
参数说明: @tblName 包含数据的表名
@fldName 关键字段名
...
pageBean:
package cn.yicha.advertiser.model;
/**
* yicha Jun 28, 2008 分页使用
*/
public class Pagination {
private int start; // 当前页是从哪条记录开始的
private int end; // 当前页是从哪条记录结束的
private int currentPage;// 当前页
private int pageSize;// 每页显示多少条数据
private int totalSize;// 总的记录数
private ...
excel文件生成代码:
package cn.excel;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf ...
sqlserver2005数据库收缩的一个问题:
由于日志文件太大,需要对日志文件进行限制,但现在日志文件已经130多G,因此需要对其进行压缩。使用sqlserver自带的收缩功能可以,但遇到一个很奇怪的问题,在本地做的测试,日志文件有5G大小,数据库文件有900M大小,但收缩日志文件的时候都收缩成1M了,不知道为什么,但肯定是不对的。在收缩一个400多M的日志文件时,文件的大小则变成了100多M,觉得这个还靠谱一点。第一个太离谱了,5G到1M,呵呵~~~
在url中带有中文,如:http://localhost/cnadsys/ad.do?name=用户名;在action中直接使用request.getParameter("name")的时候,这个IE下正常,firefox下面则不行,如果使用转码,那firefox下可以,ie下则不行。造成的原因是tomcat中默认的是iso-8859-1,它已经进行了一次转码,因此这里就存在问题。
解决办法是对“用户名”进行编码,使用URLEncoder.encode(name,"GBK")进行转码,这个在java中进行,因此就不必再页面里写转码的代码了,此时在url中“用户名”则变成了“%D3%C3%BB% ...
mssql数据库脚本:
@echo 清空表
osql -E /Q "exit( truncate table cnad.dbo.ss_dataconfig)"
@重新导入表
bcp cnad.dbo.ss_dataconfig in dat/ss_dataconfig.dat -N -e export.err.log -Slocalhost -T -E
@echo 导出
bcp cnad.dbo.ss_dataconfig out dat/ss_dataconfig.dat -N -e export.err.log -Slocalhost -T -E
总结
Tomcate错误:StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
开始项目在自己电脑上运行的时候怎么都不会出错,部署到测试服务器上的时候就会出现如上的问题。
由于使用后的session没有清除,再次使用session.getAttribute("")时出现错误,因为是session保存了同名的对象。使用后应立即清除,使用session.remove("")不能清除,得使用session.setAttribute("",null)才可以顺利清除掉sess ...
这是网上找的一个时间处理的类,没有看到jakata里面有这一方面的东东,因此复制了下来
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class DateUtil {
public String getPrintDate() {
String printDate = "";
Calendar ...
upload.java
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.List;
import java.util.re ...
这一个月的时间里的收获就是数据结构和mysql数据库,虽然没有很测底的了解,不过还算是有了一个基础吧。数据结构前面已经说了一些内容了,就是一些排序以及排序的时间,队列,单链表,双链表,循环链表,树,二分查找法这些相关的内容。
mysql方面的知识最初只了解很皮毛的东西,也就只知道怎么建立表,怎么备份、恢复之类的,这一段时间把mysql手册看了一下,虽然只是大概的浏览了一下,主要是自己也不知道具体的该了解哪些。先是了解了mysql的启动选项,知道了那些东西是怎么回事;了解了mysql的基本常用的命令,grant、show之类的;了解了mysql的日子文件;了解了mysql的存储引擎,那一个默认的 ...
开始不知道怎么去做,可能是自己想的比较复杂吧,总觉得有一个比较简单的方法,不过到最后发现还是只能以下面的方式做还算简单。
就是把信息存在一个表中,其中字段有:接收者ID,发送者ID,消息主题,消息内容,是否阅读(0/1)。
开始还想到了java mail这东西,按我的理解这个东西也是可以实现站内短信的,不过听同学说是什么服务器端之类什么的,弄得一头雾水,呵呵,现在是觉得使用java mail来做可能是有一点大材小用了一点。
这两天看了一下struts2.0的上传,实现一个简单的例子很简单,我是从strtus2.0自带的一个例子看的,也没有经过修改就可以实现上传了,但下载还是出现了一些问题。最开始接触的时候出现了一个问题,也就是包的问题或者说是配置的问题,在web.xml里面仅仅是配置了struts的映射,导致每次启动的时候说找不着一个东西,然后又发现包存在问题,因为使用的是myEclipse,在里面选的加入自定义的一个userLibery库,貌似这样是不行,以前也碰到这种情况,那个时候还不清楚,像这一次,我把那几个需要的包直接添加进去之后就可以运行了。其实也有可能触发此问题的是和其它的一些包起冲突,没有去证明这个 ...
摘自 《Junit Recipes》
令人震惊的是,虽然一个强大的面向对象的设计要求恰当的实现equals()方法,许多程序员却没有正确地做到这一点。如果你想正确地掌握本书介绍的技巧,那么你就必须恰当地实现一些类的equals()方法,尤其是那些用来存放数据的类。一般来讲,你不会去比较那些面向行为或者面向处理过程的类,但你需要去比较那些面向数值对象的类,因为那些面向处理过程的类会使用面向数值对象的类作为输入和输出。为了将这些数值对象存储到容器(比如List,Set,Map等)中,你需要恰当地实现其equals()和hashCode()方法[2]。当你对数值对象进行测试的时候,这就显得尤 ...
EasyMock 是如何为一个特定的接口动态创建 Mock 对象,并记录 Mock 对象预期行为的呢?其实,EasyMock 后台处理的主要原理是利用 java.lang.reflect.Proxy 为指定的接口创建一个动态代理,这个动态代理,就是我们在编码中用到的 Mock 对象。EasyMock 还为这个动态代理提供了一个 InvocationHandler 接口的实现,这个实现类的主要功能就是将动态代理的预期行为记录在某个映射表中和在实际调用时从这个映射表中取出预期输出。
和开发人员联系最紧密的是 EasyMock 类,这个类提供了 createMock、replay、verify ...
html源码upload.html很简单:
<h1> 文件上传演示</h1>
<form name="uploadform" method="POST" action="upload" ENCTYPE="multipart/form-data">
<table border="1" width="450" cellpadding="4" cellspacing="2" bordercolor="#9BD7FF">
<tr>
<td width="100%" colspan="2">
...
引用
作者: Hans Bergsten
http://blog.csdn.net/zt2oo8/
期待已久的日子即将到来: 最新版JavaServer Pages (JSP)2.0规范即将和其他的J2EE 1.4一同发布。新的JSP版本有一个新的飞跃,采用了新的方式:由于新的语言表达式(Expression Language,以下简称为EL)和JSP标准标签库 ...
- 浏览: 8713 次
- 性别:

- 来自: 北京、四川

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
Struts2.0上传初步学习
...
-- by vtegymtd888 -
时间控件My97DatePicker
这种js控件的使用范围和语言无关。
-- by wutao8818 -
sqlserver2005数据库收缩 ...
...
-- by liveglobe -
Scrum 资料
恩。。。。。。。
-- by canofy -
Scrum 资料
感谢lz和大家分享好东西。不过附件还是去掉吧,让大家到InfoQ中文站上下载,多 ...
-- by JasonLai






评论排行榜