feng

飘逸~~~~~life

#

关于struts2+spring中的Error filterStart错误

2008-7-2 15:24:58 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2008-7-2 15:24:58 org.apache.catalina.core.StandardContext start
严重: Context [/struts2] startup failed due to previous errors


在用tomcat开发struts2.0整合spring时,也许一不小心就会出现上面的错误
我自己对struts2.0也是刚刚接触一点点,我自己总结了点
1.struts2.0整合spring时默认的spring配置文件应该放在web-inf/下,否则就要在web.xml中进行如下配置,比如有多个配置文件
<context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>
其中struts.xml中的
<constant name="struts.objectFactory" value="spring" />你可以加入也可以不加入
因为其实当你加入struts2-spring-plugin-2.0.11.1.jar  这个文件的时候里面有个
struts-plugin.xml中已经有了
struts2-spring-plugin-2.0.11.1.jar  是引起Error filterStart的主要原因,需要在项目中加入此JAR包
此外我自己还发现另一个引起该错误的原因
比如
你有多个struts2的配置文件,在struts.xml中有有这样的
<include file="struts-jfreechart.xml" />
包含语句
则在对应的配置文件中的<package name="action" extends="struts-default">
中的name属性不能与其他的配置文件中的name重复,重复则会出现上面的错误!

 

posted @ 2008-07-02 15:45 feng 阅读(2280) | 评论 (4)编辑 收藏

难道这是spring的小BUG??

     摘要: 这几天在学习SSH开发的时候,使用到了数据库连接池,在通过JNDI获得对数据源的引用的

时候,在spring 的配置文件加入了一个如下的bean





java:comp/env/jdbc/feng






  阅读全文

posted @ 2008-02-04 13:49 feng 阅读(1664) | 评论 (7)编辑 收藏

javascript求Fibonacci的问题

     摘要: 在学习javascript,一本书上后面有个习题:
编写一个计算Fibonacci数的程序,要求让用户输入n值,并显示计算结果。
Fibonacci的定义为:Fn=Fn-1+Fn-2,F1=1,F2=1,n=3,4....前几个Fibonacci数为:1,1,2,3,5,8,13........
  阅读全文

posted @ 2008-01-10 11:15 feng 阅读(1489) | 评论 (4)编辑 收藏

struts2.0表单提交带参数问题

     摘要: 今天在学习的时候,碰到了这个问题,不知道怎么搞定了,也就是在提交表单的时候另外传递一个参数过去,这个参数不是那些里面的东西,比如要编辑一篇新闻,原来转过来了这个新闻对应的编号  阅读全文

posted @ 2007-11-03 15:52 feng 阅读(8729) | 评论 (10)编辑 收藏

碰到的MYSQL数据库中文问题小结

最近做毕业设计的时候,用了mysql5+tomcat5.5+jsp+servlet
用了数据库连接池,出现中文问题的原因倒不是它,都一样的,
发现插入数据是中文的时候就插不进去,tomcat后台大概都是这个错误
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 't
opic' at row 1
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2868)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
        at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedSt
atement.java:1169)
        at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPrepared
Statement.java:693)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:1404)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:1318)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
在网上搜了好多方法,自己都调不大起来,今天小试了下,OK了
把主要过程记下
我的系统是xp的默认字符肯定是GB2312吧,我也没改系统的东西,
改了MYSQL的一些东西,就是Mysql的字符吧,安装的时候有选字符集
default character set的时候选择best support for Multilinggualism 这样处理后反正我看到
在my.ini的配置文件里默认字符都utf-8的
连接数据库的URL 后面也没有跟setcharacter之类的,只有数据库的名字。
servlet里面接收变量的时候也没有getBytes这样的处理,直接
String subject = request.getParameter("subject");
我看到关键好象是在JSP页面上应该声明
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
还有一个关键是用PrepareStatement的话,
dbc.prepareStatement("insert into news(topic,body,adddate,adduser,rootid,pic ) values(?,?,?,?,?,? )");
   dbc.setBytes(1,topic.getBytes("ISO-8859-1"));
记住这里需要转,也不能换成gb2312
改成gb2312就会出现上面的错误
我不太清楚原理,希望知道的人指定!

posted @ 2007-10-22 14:15 feng 阅读(1260) | 评论 (1)编辑 收藏

struts2中struts.xml的配置问题

     摘要: 这些天在学习struts2中Validation验证框架的时候,在struts.xml中新加了一个action ,原来什么样子忘记了,
现在发现应该是 class类写错了  阅读全文

posted @ 2007-10-09 20:09 feng 阅读(1555) | 评论 (1)编辑 收藏

tomcat中MySQL连接池配置

由于直接编辑server.xml配置连接池很容易出现错误,我估计是tomcat版本问题,没个版本可能配置有点点差别,所以我建议使用在http://localhost/admin/中进行
数据源的配置,下载tomcat的admin包,安装过程如下


下载下来进行解压,得到三个文件,和两个包,一个叫conf包,另外一个叫做server包。
接着进行安装:那三个单独的文件不用管;把conf\Catalina\localhost\下面的一个配置文件admin.xml放在你tomcat安装目录下面的Tomcat 5.5\conf\Catalina\localhost\这个路径下,即跟host-manage.xml,manager.xml放在一起;再把server\webapps\下面的admin包拷贝到你的tomcat安装目录下的Tomcat 5.5\server\webapps\这个路径下面跟host-manager,manager包放在一块。
安装搞定,重新启动tomcat,在地址栏输入http://localhost/admin/,在出现的截面里面输入你安装tomcat的时候你输入的用户名和密码。

登录成功后,会出现Tomcat 的web应用管理界面(Tomcat Web Server Administration Tool)。
然后在左边的目录树点击“Data Sources”项,右边可以看到JNDI配置的页面。
 在右上角的下拉框中选择“Create New Data Source”,接下来填写配置信息:

JNDI Name: jdbc/feng   /*连接池的名称*/
  Data Source URL: jdbc:mysql://localhost:3306/bbs  /*bbs为数据库的名称*/
  JDBC Driver Class: com.mysql.jdbc.Driver
  User Name: root
  Password: feng
  Max. Active Connections:  可用默认值
  Max. Idle Connections:    可用默认值
  Max. Wait for Connection: 可用默认值
  Validation Query: 可不填写。

然后,按下“save”按钮保存。
  再按下“Commit Changes”按钮将配置更改提交完成。

下面这步比较重要,不加就会出现错误

在<Context></Context>的描述中加上本web应用对全局连接池的引用说明,如下文字:

    <ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/> 

一般都是加在虚拟目录里
类似下面
 <Context
            crossContext="true"
            docBase="D:/feng"
            path="/feng"
            reloadable="true">

       
        <ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/>
  </Context>

上面完成后,还需要配置对应虚拟目录WEB应用的web.xml
内容可以参考下面
<web-app>
    <resource-ref>
        <description>MySQL DataSource example</description>
        <res-ref-name>jdbc/feng</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
  </web-app>

  保存D:\feng\WEB-INF\web.xml 文件

应用示例

<%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%>
<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head><title>DataSourse Connection Test</title></head>
<body>
<%
 try{
  Connection con;
  Statement stmt;
  ResultSet rs;
 
  Context ctx = new InitialContext();
  DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/feng");
  con=ds.getConnection();
 
  stmt=con.createStatement();
  rs=stmt.executeQuery("select * from user");
while(rs.next()){
  out.println(rs.getString(1));
 %>
 <br>
 
 <%

out.print(rs.getString(2));
}
  rs.close();
  stmt.close();
  con.close();
 
 }catch(Exception e){
  out.print(e.getMessage());
 }
 
%>
 


</body>
</html>

posted @ 2007-09-21 09:49 feng 阅读(7380) | 评论 (5)编辑 收藏

struts 数据源问题

     摘要: struts1.2
在使用struts-config.xml中的 来配置数据源的时候,
要是配置不正确的话,会发生一些奇怪的错误,在提交表单的时候可能会出现
  阅读全文

posted @ 2007-09-18 11:49 feng 阅读(1247) | 评论 (2)编辑 收藏

Collection , ArrayList , List的问题

最近看的例子会出现类似下面这样的东西
List feng=new ArrayList();
Collection feng=new ArrayList();
这样的东西,开始有点困惑为什么要这样使用,跟
ArrayList  feng=new ArrayList();
有什么区别? 自己改了下,发现程序运行一点问题都没有的,后来请教了个人他说了几句,那时候还没有听明白类
今天又看到类似的例子,就在想了想这个问题,发现是这样的


Collection 是接口,用collection是把对象声明成接口,这样对程序扩展性好.就是说你指规定了要用这接口,而具体实现还是可以变化的,Arraylist是实现了Collection接口的具体的类,用ArrayList   feng=new ArrayList();这样的形式就定死了,扩展性不好!

posted @ 2007-09-14 21:21 feng 阅读(548) | 评论 (1)编辑 收藏

eclipse启动画面消失和更换问题

今天安装了Myeclipse的时候,把里面的东西都拷到eclipse去以后,就把Myeclipse删掉了,发现在启动eclipse的时候,启动画面就没有了,就是加载的那个画面就没有了,查了查也没有解决的办法

于是我就把原来下载的eclipse压缩包重新解压出来覆盖了下,发现启动画面又回来了,Myeclipse,汉化什么的都还是在的,今天发现装插件的时候最好用LINKS文件夹的方法来做,这样不会搞乱掉。

其实eclipse的启动画面是可以更换的,找到 

eclipse根目录下的plugins目录下的org.eclipse.platform_3.2.0.v20060601文件夹,里面有一个Splash.bmp的文件既是启动画面,随意更换都可以,看着原来的画面久了就累了吧 ,换个美女养养眼吧 !哈哈

拷图片过来就可以,但是要注意文件的格式,一定要是 BMP的,大小最好也要把握下的,要不很难看哦!
换了就是下面的样子了

posted @ 2007-09-13 14:51 feng 阅读(1714) | 评论 (1)编辑 收藏

仅列出标题
共3页: 上一页 1 2 3 下一页