新手学习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. Fairseq-快速可扩展的序列建模工具包

    一种快速.可扩展的序列建模工具包,Pytorch的高级封装库,适用于机器翻译.语言模型和篇章总结等建模任务. 抽象 Dataset:数据加载 Fairseq中的Dataset基本都是按功能逐层封装,按 ...

  2. Java 8新特性(一):Lambda表达式

    2014年3月发布的Java 8,有可能是Java版本更新中变化最大的一次.新的Java 8为开发者带来了许多重量级的新特性,包括Lambda表达式,流式数据处理,新的Optional类,新的日期和时 ...

  3. 【原创】探索容器底层知识之Namespace

    一.先谈谈进程 在正式介绍Namespace之前,先介绍下进程,因为容器本质上是进程,但是在介绍进程之前,先理清下“程序”和“进程”的关系,这是IT从业人员在日常工作中经常碰到的两个词汇,举个通俗点的 ...

  4. Python协程之asyncio

    asyncio 是 Python 中的异步IO库,用来编写并发协程,适用于IO阻塞且需要大量并发的场景,例如爬虫.文件读写. asyncio 在 Python3.4 被引入,经过几个版本的迭代,特性. ...

  5. [ASP.NET Core开发实战]基础篇04 主机

    主机定义 主机是封闭应用资源的对象. 设置主机 主机通常由 Program 类中的代码配置.生成和运行. HTTP项目(ASP.NET Core项目)创建泛型主机: public class Prog ...

  6. RabbitMQ配置文件(advanced.config)

    这是advanced.config配置文件示例: [ %% ------------------------------------------------ --------------------- ...

  7. 领导给了一堆无序杂乱的数据,我写了个Python自动化脚本

    这个问题算是群友答疑.如果说同事或者老板给你一堆这样的数据,你估计会抓狂,该怎么处理呢? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. ...

  8. 【HttpRunner v3.x】笔记 ——1. 环境安装

    一.环境说明 HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS.Linux.Windows 系统平台上.笔者使用的是windows系统,所以后续都是基于windo ...

  9. windows-服务器-配置一个及多个-Apache-Tomcat

    问题:如何在一台服务器上发布了几个Tomcat的系统???怎么配置环境变量?怎么设置Tomcat? 2020/8月更新,由于之前的java的环境变量有点绕,此次新加一个流程设计图 一.需求: 一台wi ...

  10. 最小发射功率下WSN的连通性和覆盖率

    简述: 实验要求我们将传感器节点随机均匀分布在1x1的方格中,然后计算节点的最小共同发射功率(COMPOW),保证网络刚好连通,并计算出这些节点的覆盖率.为了解决这个问题,我们的做法是随机均匀部署10 ...