新手学习SSH框架的时候总会遇到很多问题,一碰到404 或者500错误就不知道怎么解决。

404错误是很常见的一个错误,如果没有用框架基本上只可能是没有这个路径或者文件,但是用了框架之后404的原因就比较多了

404很有可能是struts配置,hibernate配置及其映射文件、applicationContext配置文件错误

首先是xml文件通不过校验,把xml文件拖到浏览器当中,如果通不过校验会提示你哪一行有问题

xml文件一定要嵌套,struts文件里面的action调用的方法一定要有,不然会报404或500错误

给一个struts配置给大家参考一下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<!-- stu --> <action name="list" class="com.hngc.action.CantonAction" method="list">
<result name="success">/listCanton.jsp</result>
</action> </package> </struts>

  对应的action类如下

package com.hngc.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import com.hngc.entity.Canton; import com.hngc.service.BaseService;
import com.hngc.service.impl.CantonServiceImpl;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport; import net.minidev.json.JSONArray;
import net.minidev.json.JSONObject; public class CantonAction extends ActionSupport {
private HttpServletRequest request= ServletActionContext.getRequest();//
private HttpServletResponse response= ServletActionContext.getResponse();
private BaseService<Canton> cantonService;
private Canton canton; public BaseService<Canton> getCantonService() {
return cantonService;
}
public void setCantonService(BaseService<Canton> cantonService) {
this.cantonService = cantonService;
}
public Canton getCanton() {
return canton;
}
public void setCanton(Canton canton) {
this.canton = canton;
} public String list() {
ActionContext context = ActionContext.getContext();
context.put("list", cantonService.list());
return SUCCESS;
}
public String save() {
ActionContext context = ActionContext.getContext();
cantonService.save(canton); return SUCCESS;
} }

要注意这里的 cantonService要和applicationContext里面的bean相对应,get set方法最好自动生成

有些人习惯拷贝之前的代码,忘记改get set方法名,这个网页会报500错误

canton 是实体类对象,需要get set方法,并且网页s标签也要对应,表单里面的name也要对应

1 <input name="canton.code" type="text" id="title" size="20">

hibernate配置一般不会出错,但是映射文件很容易写错

 1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
4 <!--
5 Mapping file autogenerated by MyEclipse Persistence Tools
6 -->
7 <hibernate-mapping>
8 <class name="com.hngc.entity.Canton" table="canton" schema="dbo" catalog="LandDB">
9 <id name="code" type="java.lang.String">
10 <column name="code" />
11 <generator class="assigned" />
12 </id>
13 <property name="cname" type="java.lang.String">
14 <column name="cname" not-null="true" />
15 </property>
16 <property name="abb" type="java.lang.String">
17 <column name="abb" not-null="false" />
18 </property>
19 <property name="govName" type="java.lang.String">
20 <column name="govName" not-null="false" />
21 </property>
22 <property name="landName" type="java.lang.String">
23 <column name="landName" not-null="false" />
24 </property>
25 <property name="parentCode" type="java.lang.String">
26 <column name="parentCode" not-null="false" />
27 </property>
28 </class>
29 </hibernate-mapping>

这是一个完整的映射文件,容易错的地方有主键主键生产策略

<generator class="assigned" />

数据库字段可空,但是却写了 not-null="true"

类型不匹配 数据库字段为int t但是却写ype="java.lang.String

字段不匹配  <column name="parentCode" not-null="false" />

这个parentCode 是数据库中的字段

applicationContext的错误可以一个一个的注释掉测试

service action当中的get set方法要记得改名字,最好自动生成

这一期只是大概说一下错误的解决方法

之后后慢慢讲解具体的报错,有遇到问题的也可以留言

SSH 框架常见错误的更多相关文章

  1. SSH整合常见错误

    spring+hibernate出错小结: (1)java.lang.NoClassDefFoundError: org/hibernate/context/CurrentSessionContext ...

  2. ssh框架搭建错误集合

    1,把jsp放入到WEB-INF/view目录下,struts2.xml配置<result name="success">/WEB-INF/view/home.jsp& ...

  3. SSH框架 通用 错误(404,500等)返回页面设置

    在web.xml里面加入

  4. struts2.5框架使用通配符指定方法常见错误

    struts2.5框架使用通配符指定方法(常见错误) 在学习struts框架时经常会使用到通配符调用方法,如下: <package name="shop" namespace ...

  5. eclipse使用SSH框架出现There is no Action mapped for namespace [/] and action name [] associated with context path错误

    eclipse使用SSH框架出现There is no Action mapped for namespace [/] and action name [] associated with conte ...

  6. centos7:ssh免密登陆设置及常见错误

    目录 一.免密登录设置 二.常见错误 三.CentOS7再ssh-copy-id时的错误 一.免密登录设置 1.使用root用户登录,进入到目录/root/.ssh 2.执行命令:ssh-keygen ...

  7. Python3环境安装Scrapy爬虫框架过程及常见错误

    收录待用,修改转载已取得腾讯云授权 Scrapy安装介绍 Scrapy的安装有多种方式,它支持Python2.7版本及以上或Python3.3版本及以上.下面说明Python3环境下的安装过程. Sc ...

  8. 基于SSH框架的网上商城的质量属性

    常见质量属性 1.性能 性能就是一个东西有多快,通常指响应时间或延迟. 响应时间:从发出请求到收到响应所用的时间,比如用户点击网页中的超链接或桌面应用程序中的按钮 延迟:消息从A点到B点,通过你的系统 ...

  9. 基于ssh框架开发的购物系统的质量属性

    根据前面的博客,我们已经大致了解了ssh架构开发整体概念:Struts是一个实现了MVC模式的经典的框架:Hibernate是轻量级Java EE应用的持久层解决方案,以面向对象的方式提供了持久化类到 ...

随机推荐

  1. Hive 常见面试题(二)

    1.Hive行转列和列转行如何实现? 行转列 使用 concat_ws 实现行转列. 例如: select user_id, concat_ws(',',collect_list(order_id)) ...

  2. 仓库ERP管理系统(springboot)

    查看更多系统:系统大全,课程设计.毕业设计,请点击这里查看 01 系统概述 基于SpringBoot框架和SaaS模式,非常好用的ERP软件,目前专注进销存+财务功能.主要模块有零售管理.采购管理.销 ...

  3. Htmlcss学习笔记1——html基础

    Hyper text markup language 超文本标签语言.不是一种编程语言,而是一种标记语言标记语言是一套标记标签 开发工具 chrome subline vscode photoshop ...

  4. 没想到吧!关于Dubbo的『消费端线程池模型』官网也写错了。

    这是why的第 63 篇原创文章 荒腔走板 大家好,我是 why,欢迎来到我连续周更优质原创文章的第 63 篇.老规矩,先荒腔走板聊聊其他的. 上面这张图片是我前几天整理相册的时候看到的.拍摄于 20 ...

  5. 总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇

    本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  6. 【学习中】Unity插件之NGUI 完整视频教程

    课程 章节 内容 签到 Unity插件之NGUI 完整视频教程 第一章 NGUI基础控件和基础功能学习 1.NGUI介绍和插件的导入 6月29日 2.创建UIRoot 6月29日 3.学习Label控 ...

  7. Linux+Jenkins自动构建服务器包

    何时使用: 测试过程中我们需要持续构建一个软件项目,为避免重复的手动下载.解压操作,我们需要搭建一个能够自动构建的测试环境,当代码有更新时,测试人员只需点一下[构建]即可拉取最新的代码进行测试(也可设 ...

  8. 2020年1月31日 安装Python的BeautifulSoap库记录

    C:\Users\ufo>pip install beautifulsoup4 Collecting beautifulsoup4 WARNING: Retrying (Retry(total= ...

  9. 在CentOs7上yum安装redis

    在开始安装步骤之前,先把我的CentOs和redis版本号列出来: # 系统/软件 版本号 1 CentOS7 CentOS Linux release 7.2.1511 (Core) 2 redis ...

  10. GaussDB(DWS)应用实战:对被视图引用的表进行DDL操作

    摘要:GaussDB(DWS)是从Postgres演进过来的,像Postgres一样,如果表被视图引用的话,特定场景下,部分DDL操作是不能直接执行的. 背景说明 GaussDB(DWS)是从Post ...