`
panpan123mail
  • 浏览: 33684 次
  • 性别: Icon_minigender_1
  • 来自: SpringHill
社区版块
存档分类
最新评论

最近项目开发知识总结积累

阅读更多
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


分享到:
评论
7 楼 panpan123mail 2009-09-25  
漫步壁虎 写道
LZ的分享精神值得大家学习,但是我想给LZ提一点建议,也就是既然是拿出来分享,可否将格式调整一下,使可读性增强一些。有时候再好的贴,一旦看上去排版极差,也会让人趣味减半

不好意思,我如果有闲时间的话,一定好好整理编辑一下
6 楼 panpan123mail 2009-09-25  
thinkinperson 写道
2、在HTNL(ps:楼主有错别字)中获得下拉项的值,可以利用一个隐藏域,把取出的数据赋给隐藏域,然后通过js获得下拉单中的

我是直接使用c:foreach把<option></option>输出

for example:
<select>
  <c:foreach var="" items="">
     <option>data</option>
  </c:foreach>
</select>

呵呵,谢谢您的指出我的错误,我这个是当时需要把参数传到控制操作层出的下策
5 楼 youngJiang 2009-09-24  
不错,真的不错!收藏了,好多东东,时间长不用了,就忘了。
4 楼 evanerv0079 2009-09-23  
基本是常用的知识点,有的时候忘了也挺麻烦的,lz的习惯很好。
3 楼 panpan123mail 2009-09-23  
sunway00 写道
楼主这样的总结值得学习啊.温故而知新

呵呵,谢谢你这么鼓励,是的,经常由于某个知识被忘记,所以一旦想起来就记下来,还是在入门徘徊
2 楼 sunway00 2009-09-23  
楼主这样的总结值得学习啊.温故而知新
1 楼 sunway00 2009-09-23  
引用

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();


在Spring中用
<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath:*.properties</value>
                           </list>
                  </property>
<bean>

相关推荐

    项目优化总结,经验积累

    该资源摘要信息是关于项目优化总结和经验积累的知识点总结。下面是从给定的文件信息中生成的相关知识点: 1. 个人介绍:该部分介绍了作者刘佳伟的个人信息,包括姓名、毕业院校、专业、岗位等信息。 知识点:个人...

    某地产成片开发的经验总结.docx

    【房地产成片开发的技术知识总结】 在房地产行业中,成片开发是一种常见的模式,涉及大量土地的集中规划和建设。万科作为国内知名的房地产开发商,积累了丰富的经验。本文将围绕项目前期的选项、决策,以及土地开发...

    项目开发总结报告1

    《库存管理系统》项目开发总结报告 本报告详细记录了毛毛虫团队开发《库存管理系统》的过程,涵盖了项目背景、开发成果、进度管理、工作评价以及经验教训等方面。该团队由王雪刚、陈倩倩、陈靖和唐璐四位成员组成,...

    软件开发年终总结,个人年终总结

    6. **知识总结**:鼓励定期总结工作经验,形成知识积累的习惯,为未来的工作提供参考和支持。 综上所述,本文通过对作者在过去一年中参与项目的工作总结,不仅分享了项目经历和个人成长,还深入剖析了工作中遇到的...

    模板-项目开发总结报告.doc

    ### 项目开发总结报告知识点梳理 #### 一、引言 **1.1 编写目的** - **目的概述:** 明确报告撰写的主要意图是总结整个项目的开发过程及成果,为后续类似项目的开展提供参考。 - **目标受众:** 包括项目团队成员...

    最新软件项目开发总结.docx

    - 项目管理文档:包含软件项目计划、项目进度报告和项目开发总结报告等。 - 产品文档:如用户手册、演示文件等。 ### 五、主要功能特点 - **三维仿真技术**:采用3D模型建立技术,模拟真实的旅游场景,提供沉浸...

    日常开发的总结

    "日常开发的总结"这个主题涵盖了广泛的知识点,涉及到编程语言、设计模式、项目管理、版本控制、测试策略等多个方面。以下是对这些知识点的详细阐述: 1. **编程语言**:无论是Java、Python、C++还是JavaScript,...

    系统集成项目知识点总结

    ### 系统集成项目知识点总结 #### 一、教材结构概览 本文件总结了2018年度最新的国家软件考试中的系统集成项目工程师考试的知识点。内容涵盖信息化基础知识、信息系统服务管理、信息系统集成专业技术知识、项目...

    网站项目开发实习总结.docx

    在学校里学到的理论知识是基础,但在实际工作中,我还需要具备多种技能,包括技术开发能力、项目管理能力和人际交往能力。我也发现了自己的不足,如在时间管理和任务分配上还有很大的提升空间。在未来的工作中,我...

    软件工程--图书管理系统项目开发总结报告借鉴.pdf

    总的来说,这份《图书管理系统项目开发总结报告》是软件工程实践中宝贵的经验积累,不仅展示了项目从无到有的全过程,还揭示了在实际开发中可能遇到的问题和解决之道,对于提升软件开发水平具有重要的参考价值。

    2020校招测试开发岗秋招知识点总结

    【测试开发岗位校招知识点详解】 测试开发岗位是IT领域中的一...在准备面试时,除了技术知识的积累,还要注重实际问题解决能力和项目经验的分享,以展示全面的个人能力。祝愿所有求职者面试顺利,成功进入理想的公司!

    php项目开发规范 by 覃健祥

    ### PHP项目开发规范知识点 #### 一、项目背景与目的 覃健祥撰写的《PHP项目开发规范》是一份详尽的技术文档,旨在为Magic项目提供一套完整的开发指南。这份文档经历了作者长时间的实践和积累,并针对实际项目进行...

    vs2008最近项目清除工具

    【标题】:“vs2008最近项目清除工具”是一个专为Visual Studio 2008用户设计的小型实用程序,旨在帮助用户快速、便捷地清理他们在开发过程中积累的最近打开项目列表。这个工具能够有效地解决用户在学习新项目或测试...

    依照CMMIII编制的项目总结模板

    综上所述,依据CMMIII编制的项目总结报告是一份全面记录项目历程、经验教训和未来改进方向的文档,对于提升组织的项目管理能力和知识积累具有重要意义。通过遵循这样的模板,项目团队可以系统地回顾项目,确保组织...

    2021网站项目开发实习总结.docx

    在2021年的网站项目开发实习中,我有幸在xx市保安服务总公司信息部进行实战训练,这段经历不仅加深了我对网站开发的理解,也拓宽了我对企业运营的认知。在这个过程中,我参与了金融服务中心网站的建设,主要负责网页...

    个人博客项目开发计划.pdf

    个人博客项目开发计划是个人博客系统的开发计划,该系统旨在提供一个平台,供朋友进行交流、分享和日志积累。系统的主要功能包括用户信息管理、博客浏览数量统计、安全机制、数据备份等。 2. 系统功能需求 系统的...

    网上购物系统项目开发总结报告.pdf

    【网上购物系统项目开发总结报告】 一、设计背景与环境 ...总结,这个网上购物系统项目开发不仅提升了团队成员的编程能力,也加深了对网络通信、数据库管理和软件工程实践的理解,为今后的工作积累了宝贵经验。

    项目结项总结报告.docx

    总结,项目结项总结报告不仅是项目生命周期的终点,也是知识积累和传承的起点。通过详尽的分析和反思,团队可以不断学习和成长,从而提高未来项目的成功率。在编写报告时,应确保内容准确、全面,并注重实用性和可...

Global site tag (gtag.js) - Google Analytics