1、关于时间格式问题
(1)对系统时间利用java时间的歌是函数进行处理
SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss"); //格式化当前系统日期
String reqDate = dateFm.format(new java.util.Date());
以上是对系统时间格式化成:年-月-日 时-分-秒
(2)请参照jdk—Api进行操练
2、在HTNL中获得下拉项的值,可以利用一个隐藏域,把取出的数据赋给隐藏域,然后通过js获得下拉单中的
值
3、对于在js中进行url跳转要用window.location=url
4、在js中弹出确认按钮后跳转页面,如以下就是经过确认后跳转到/sms/student/delete.action?id=<%=
student.getId()%>页面:
<a onclick="return confirm('真的要删除该信息吗?')" href="/sms/student/delete.action?id=<%=
student.getId()%>">删除</a>
5、加载读取某一个文件的操作(特别是对于数据库的配置文件比较适合):
(1)首先声明Properties
private static Properties config = new Properties();
(2)通过输入流来读取文件
InputStream in = ConnectionFactory.class.getClassLoader()
.getResourceAsStream("jdbc.properties");
(3)通过properties来加载输入流
config.load(in);
(4)关闭输入流
in.close();
6、读取JNDI数据源(在5的基础上)
Connection con = null;
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(config.getProperty("jndiName"));
con = ds.getConnection();
7、JNDI连接池配置
以tomcat6.0为例:
将数据库驱动jar包导入到tomcat6.0的/lib下,修改以下类
//连接数据库的类
class connectDB:
public static Connection getConnection(){
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/restrant");
conn = ds.getConnection();
}
在你的项目的配置文件web.xml中增加下面一段:
web.xml
<resource-ref>
<res-ref-name>jdbc/restrant </res-ref-name>
<res-type>javax.sql.DataSource </res-type>
<res-auth>Container</res-auth>
</resource-ref>
最后,在tomcat/webapps/yourpro/META-INF/下增加context.xml文件
新建txt文件,复制下面代码,重命名为context.xml
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name="jdbc/restrant"
type="javax.sql.DataSource"
//增加数据库驱动,我的是sqlserver2005
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
//指定数据库,并定义登录名和密码
url="jdbc:sqlserver://localhost:1433;databaseName=restrant"
username="sa" password="sa" maxActive="200" maxIdle="10"
maxWait="-1"/>
</Context>
重新启动服务器--------->结束
8、在sturts2中让action实现ModelDriven接口,在Web层和业务逻辑层使用相同的对象,即如
LoginAction 实现了ModelDriven<User>接口,在页面中,这个模型对象中的属性可以直接通过
属性名来访问(如username),而不需要使用形如“user.username”这种格式的表达式,在action
中也不需要为这个模型对象提供JavaBean风格的getter和setter方法。
9、在struts2中记录登陆人数,和其他的一样,需要把信息存放到application中,在页面取得
:${requestScope.greeting} 和 ${applicationScope.counter}
(1)在action的execute中添加
ActionContext context = ActionContext.getContext();
Map request = (Map)context.get("request");
Map session = context.getSession();
Map application = context.getApplication();
equest.put("greeting", "欢迎您光顾本站!!!");
//把user信息存放到session中
session.put("user", user);
//
Integer count = (Integer)application.get("counter");
if(null == count)
count=1;
else
count++;
application.put("counter", count);
(2)在action开始声明
private Map request;
private Map session;
private Map application;
public void setRequest(Map request)
{
this.request = request;
}
public void setSession(Map session)
{
this.session = session;
}
public void setApplication(Map application)
{
this.application = application;
}
在execute中调用
request.put("greeting", "欢迎你光临本站");
session.put("user", user);
Integer count = (Integer)application.get("counter");
if(null == count)
count=1;
else
count++;
application.put("counter", count);
(3)在execute中
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
ServletContext context = ServletActionContext.getServletContext();
request.put("greeting", "欢迎你光临本站");
session.put("user", user);
Integer count = (Integer)application.get("counter");
if(null == count)
count=1;
else
count++;
application.put("counter", count);
(4)在action中先声明
HttpServletRequest request;
ServletContext context;
添加get、set方法
在execute中添加
HttpSession session = request.getSession();
request.put("greeting", "欢迎你光临本站");
session.put("user", user);
Integer count = (Integer)application.get("counter");
if(null == count)
count=1;
else
count++;
application.put("counter", count);
10、注意struts2.1.6和struts2.0.14不同
(1)与struts2.0.14不同,要想正常使用struts2.1.6,至少需要6 个jar包:
struts2-core-2.1.6.jar
freemarker-2.3.13.jar
commons-logging-1.0.4.jar
ognl-2.6.11.jar
xwork-2.1.2.jar
commons-fileupload-1.2.1.jar
(2) 在使用零配置( zero configuration)的时候按照struts2.0.14中那样在sturts2-core-2.0.11中
org.apache.struts2.config下找了半天都没有那个包,上网才晓得“struts2.1.6中还需要引用struts2-
convention-plugin-2.1.6.jar文件,而且注释类的包也变了(又增加了一些新的注释类),Struts2.0.14中
的注释类在org.apache.struts2.config包中,而struts2.1.6的注释类在
org.apache.struts2.convention.annotation包中。除此之外,有些注释的属性名也变了,如Result注释在
struts2.0.14中有一个value属性,表示一个要转入的URL,而
Struts2.1.6的Result注释中使用location属性代替了value属性(不再有value属性了),但它们的使用方法
相同。”
(3)记得在struts2.0.14中,@result中type为类名,然后利用反射机制装载这个类例如
type=org.apache.struts2.dispatcher.ServletRedirectResult.class,而struts2.1.6中type应填入名称如
type="redirect",否则会报错。
(4)在action包设置的时候<package name="action" extends="struts-default" namespace="/">如果缺省
namespace就会报错,找不到result
(5)在一个action返回result访问另一个package中的action时:<result type="chain">/xxx/test</result>
来访问
<action name="test" namespace="/xxx"会报错,找不到这个action,但是如果改成
<result type="chain">
<param name="actionName">test</param>
<param name="namespace">/xxx</param>
</result>
这种方法来访问就没有问题。
11、页面经过刷新几秒后跳转到另一个页面示例如下:
<head>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=Welcome.do">
</head>
注:content表示的是间隔几秒刷新一次
12、页面刷新的实现:
(1)页面自动刷新js版1
<script language="JavaScript">
function myrefresh()
{
window.location.reload();
}
setTimeout('myrefresh()',1000); //指定1秒刷新一次
</script>
(2)页面自动刷新js版2
//如何刷新包含该框架的页面用
<script language=JavaScript>
parent.location.reload();
</script>
//子窗口刷新父窗口
<script language=JavaScript>
self.opener.location.reload();
</script>
(或<a href="javascript:opener.location.reload()">刷新</a>)
//如何刷新另一个框架的页面用
<script language=JavaScript>
parent.另一FrameID.location.reload();
</script>
(3)页面自动刷新js版3
history.go(0)
location.reload()
location=location
location.assign(location)
document.execCommand('Refresh')
window.navigate(location)
location.replace(location)
document.URL=location.href
分享到:
- 2009-09-23 11:32
- 浏览 927
- 评论(7)
- 论坛回复 / 浏览 (7 / 3496)
- 查看更多
相关推荐
该资源摘要信息是关于项目优化总结和经验积累的知识点总结。下面是从给定的文件信息中生成的相关知识点: 1. 个人介绍:该部分介绍了作者刘佳伟的个人信息,包括姓名、毕业院校、专业、岗位等信息。 知识点:个人...
【房地产成片开发的技术知识总结】 在房地产行业中,成片开发是一种常见的模式,涉及大量土地的集中规划和建设。万科作为国内知名的房地产开发商,积累了丰富的经验。本文将围绕项目前期的选项、决策,以及土地开发...
《库存管理系统》项目开发总结报告 本报告详细记录了毛毛虫团队开发《库存管理系统》的过程,涵盖了项目背景、开发成果、进度管理、工作评价以及经验教训等方面。该团队由王雪刚、陈倩倩、陈靖和唐璐四位成员组成,...
6. **知识总结**:鼓励定期总结工作经验,形成知识积累的习惯,为未来的工作提供参考和支持。 综上所述,本文通过对作者在过去一年中参与项目的工作总结,不仅分享了项目经历和个人成长,还深入剖析了工作中遇到的...
### 项目开发总结报告知识点梳理 #### 一、引言 **1.1 编写目的** - **目的概述:** 明确报告撰写的主要意图是总结整个项目的开发过程及成果,为后续类似项目的开展提供参考。 - **目标受众:** 包括项目团队成员...
- 项目管理文档:包含软件项目计划、项目进度报告和项目开发总结报告等。 - 产品文档:如用户手册、演示文件等。 ### 五、主要功能特点 - **三维仿真技术**:采用3D模型建立技术,模拟真实的旅游场景,提供沉浸...
"日常开发的总结"这个主题涵盖了广泛的知识点,涉及到编程语言、设计模式、项目管理、版本控制、测试策略等多个方面。以下是对这些知识点的详细阐述: 1. **编程语言**:无论是Java、Python、C++还是JavaScript,...
### 系统集成项目知识点总结 #### 一、教材结构概览 本文件总结了2018年度最新的国家软件考试中的系统集成项目工程师考试的知识点。内容涵盖信息化基础知识、信息系统服务管理、信息系统集成专业技术知识、项目...
在学校里学到的理论知识是基础,但在实际工作中,我还需要具备多种技能,包括技术开发能力、项目管理能力和人际交往能力。我也发现了自己的不足,如在时间管理和任务分配上还有很大的提升空间。在未来的工作中,我...
总的来说,这份《图书管理系统项目开发总结报告》是软件工程实践中宝贵的经验积累,不仅展示了项目从无到有的全过程,还揭示了在实际开发中可能遇到的问题和解决之道,对于提升软件开发水平具有重要的参考价值。
【测试开发岗位校招知识点详解】 测试开发岗位是IT领域中的一...在准备面试时,除了技术知识的积累,还要注重实际问题解决能力和项目经验的分享,以展示全面的个人能力。祝愿所有求职者面试顺利,成功进入理想的公司!
### PHP项目开发规范知识点 #### 一、项目背景与目的 覃健祥撰写的《PHP项目开发规范》是一份详尽的技术文档,旨在为Magic项目提供一套完整的开发指南。这份文档经历了作者长时间的实践和积累,并针对实际项目进行...
【标题】:“vs2008最近项目清除工具”是一个专为Visual Studio 2008用户设计的小型实用程序,旨在帮助用户快速、便捷地清理他们在开发过程中积累的最近打开项目列表。这个工具能够有效地解决用户在学习新项目或测试...
综上所述,依据CMMIII编制的项目总结报告是一份全面记录项目历程、经验教训和未来改进方向的文档,对于提升组织的项目管理能力和知识积累具有重要意义。通过遵循这样的模板,项目团队可以系统地回顾项目,确保组织...
在2021年的网站项目开发实习中,我有幸在xx市保安服务总公司信息部进行实战训练,这段经历不仅加深了我对网站开发的理解,也拓宽了我对企业运营的认知。在这个过程中,我参与了金融服务中心网站的建设,主要负责网页...
个人博客项目开发计划是个人博客系统的开发计划,该系统旨在提供一个平台,供朋友进行交流、分享和日志积累。系统的主要功能包括用户信息管理、博客浏览数量统计、安全机制、数据备份等。 2. 系统功能需求 系统的...
【网上购物系统项目开发总结报告】 一、设计背景与环境 ...总结,这个网上购物系统项目开发不仅提升了团队成员的编程能力,也加深了对网络通信、数据库管理和软件工程实践的理解,为今后的工作积累了宝贵经验。
总结,项目结项总结报告不仅是项目生命周期的终点,也是知识积累和传承的起点。通过详尽的分析和反思,团队可以不断学习和成长,从而提高未来项目的成功率。在编写报告时,应确保内容准确、全面,并注重实用性和可...