【SSH】错误锦集

在SSH网上商城项目中,遇到了很多错误,在此做出总结:

  (1) Access denied for user 'root'@'localhost' (usingpassword: YES)

错误原因:安装mysql过程中配置错误,未给localhost用户授权

新建一个localhost root用户,然后授权给他

createuser 'root'@'localhost' identified by '你的密码';

grantall privileges on *.* to root@'localhost';即可。


(2) Dispatcher initializationfailed


tomcat加 载不起来,在网上查资料,在struts.xml的package标签中加入extends="struts-default"属性,明显已经有了这个属性配置,后来发现是路径问题,之前类名中多了一个”s”,将类名改掉之后在路径忘了进行修改。


(3)Can’tfind class [cn.itcast.shop.user.action] for bean with name ’userAction’ definedin class path resource [applicationContext.xml]


这个错误经常遇到,通过给出的提示,错误的原因一般有两点,而且一找一个准,(1)在action类中return 的字符串是否匹配,比如return"loginSuccess";

 是否和struts.xml中的<result>里的name对应;(2)是否在struts中的jsp路径正确,都会爆出这个问题来。


(4)

2016-5-8 19:29:14 org.apache.catalina.startup.CatalinastopServer

严重: Catalina.stop:

java.net.ConnectException:Connection refused: connect

atjava.net.PlainSocketImpl.socketConnect(Native Method)

atjava.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)

atjava.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)

atjava.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)

atjava.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)

at java.net.Socket.connect(Socket.java:519)

at java.net.Socket.connect(Socket.java:469)

atjava.net.Socket.<init>(Socket.java:366)

atjava.net.Socket.<init>(Socket.java:180)

atorg.apache.catalina.startup.Catalina.stopServer(Catalina.java:422)

atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

atjava.lang.reflect.Method.invoke(Method.java:597)

atorg.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:338)

atorg.apache.catalina.startup.Bootstrap.main(Bootstrap.java:416)

意思是链接数据库没有成功,这个问题的原因也是五花八门,我所经历的有两点,一次是因为TomCat服务根本就没有开启,是指这里根本就没有TomCat 6.x


另外一次是连接192.168.21.**通过远程调用自己的服务器发现没有插网线,也是够够的了,爆出了这个问题。其实解决这个问题很简单,在没有网线插入的情况下将JDBC链接修改为local就可以了。

 

(5)严重: Errorinitializing endpoint,java.net.SocketException:Unrecognized Windows Sockets error: 0: JVM_Bind

错误原因:TomCat端口被占用。

解决办法:修改Tomcat的使用端口,具体做法——找到目录...\Tomcat 5.5\conf,在conf目录下有“server.xml”文件,用记事本打开此文件,查找(打开文件后Ctrl+F)文件中的所有“8080”,并改为其他没有被占用的端口值(如:8088、8081等)。

 

(6)严重:Exception sending context initialized event to listener instance of classorg.springframework.web.context.ContextLoaderListener

错误解决:该错误是在spring注入时候引发的。

 <bean name="userService" class="com.ssh.service.impl.UserService" >
<property name="userDAO">
<ref bean="UserDAO"/>
</property>
 </bean>


7/WEB-INF/jsp/index.jsp(142,75)According to TLD, tag s:property must be empt

这个错误的特点在于 tag s:property must be empt ,这个问题我遇到过最少三次了,原因全部在于写 JSP 路径的时候丢失了“ / ”。


8IOException while loadingpersisted sessions: java.io.WriteAbortedException: writing aborted;java.io.NotSerializableException: cn.itcast.shop.category.vo.Category

java.io.WriteAbortedException:writing aborted; java.io.NotSerializableException:cn.itcast.shop.category.vo.Category

 解决办法:这个IOException也是个老问题了,在我之前的博客中写过Session持久化的问题,是因为操作过程中点击了这里的stop的问题 :      

                      

 Session序列化异常介绍:

      1、超时 

      2、服务器非正常关闭(tomcat 下的 session序列化文件  -- 只要单击Stop就会将Session保存到硬盘,下次启动时再反序列化)

      办法:每次单击Console中的红方块,不会被序列化,另一个办法就是在Vo的java类中,implementSerializable接口

 

(9)Bean property ‘productService’ isnot writable or has in invalid setter method.


    我们都知道在Action中的变量基本上都会设置一个set方法,这就是一个错误原因,有时候跟着视频敲的快了就会错误,还有一次我遇到这个问题是因为:

public Product getModel() {
return product;
}

    我开始写的返回值是NULL,So,也会爆出这个错误,不解。


(10)Association references unmapped class()

      错误在applicationContext.xml中,没有映射到类,

      解决思路:

           (1)查看映射是否写错,包括属性和路径

           (2)类名是否写错了

           (3)清除tomcat缓存,把tomcat文件下“work”文件夹中的内容删除即可。

 

(11)No Scope registered for scope'peoperty'

    老师一直强调,在application.xml中配置<bean>属性的时候一定要加上scope,那么把scope="peoperty"写错了,或者是没有写就是上面这个错。

 

(12)配置过程中,从页面到Action跳转没有问题

    问题在于,超链接没有问题:

    而是:注入过程中:

     

    将orderService中的“s”写成了小写,导致

     

    这个Set方法和application中的:

     

    这里面的:<property>中的orderService不一致,从而页面跳转不过去

 

13提交订单时候,说不认识实体Order.


    两个错误:

         1 、在 application 中配置错误:

      

      所示划线处被窝写到了注释里。

          2、该关系的主键值被窝写成“uid---Order.java

      


14)日期类型插不进去


    虽然引用了关于Datejar包,还得将Date转化为String之后才能够插入进去,这个问题我没有解决,在写这篇文章的时候老贾告诉我把jar包更新就oK.有待尝试。

 

(15) order.jsp页面当中的一个错误

    

    错误在于将value和前面的单词链接在一起:

     

    我写的是type=”text”value=”s:propertyvalue=”model.user.phone/>”

 

(16) id to load is required forloading

     问题在于从jsp页面向action传值时候oid为空,导致action方法调用Service方法时候参数为null值,报错

 

(17) 异常ognl.OgnlException: target is null for setProperty(null,"y", [Ljava.lang.Stri

    提交订单过程中,前台页面:

收货地址:<input name="addr" type="text" value="<s:property value="model.user.addr"/>" style="width:350px" />
							<br />
收货人   :<input name="name" type="text" value="<s:property value="model.user.name"/>" style="width:150px" />
							<br /> 
联系方式:<input name="phone" type="text" value="<s:property value="model.user.phone"/>" style="width:150px" />

    这个页面里面,addr的值不是user.addr。 name的值不是username

    注意在Struts.xml中的struts.devMode= true

    struts.xml文件里面有这么一个"struts.devMode"。当设为true时,html表单数据中有和action属性匹配不上的参数名时就会提示这样的信息。

在开发过程中将其设置为true有助于我们发现一些不容易被发现的错误。

 

(18)


          错误原因:后台登录过程中,Struts的重定向配置错误<resultname="loginSuccess" type="redirect">/admin/home.jsp</result>

因为,redirectAction的写法不适合这里,要知道重定向的写法有两种,一种是type=”redirect”,另外一种是type=”redirectAction”.

 

(19)


         错误原因在于在jsp页面中提交整个form表单的时候,有一个<input>标签没有提交过去导致的,我的办法,把该标签删除掉即可。当然在action中为这个标签写一个set方法也是ok的。

 

20

      如图所示,在商品管理部分,从left.jsp中跳入,在action中的方法名字是:findAll。而在left.jsp中调用的方法名则是:(findAllByPage


    于是,把这个名称统一即可。


    至此,将这个系统中我自己解决了的一些问题进行总结。






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值