短学期(3)第三次感悟

1.修改数据的各项配置都配置好之后,点击修改还是不能修改客户信息,跳出了下图这个界面,百度之后显示这个错误是指数组超出索引,数组越界了,但还是不会修改

把<s:action name="typeAction" id="list"></s:action>删掉之后

还是出现了这个错误,之后错误页面中显示CustServiceImpl.java中的32行错误,即这边的findCustById还没配return的值

2.在dao中把所有的增删查改都定义了接口,实现接口要实现里面所有的方法,通过SQL语句把查询的列表全部显示出来,通过类的对象的id号把客户的一个对象显示出来,这边的接口实现都是继承的hibernate.cfg.xml,find中需要传的是字符串

ublic class UpdatePreviewCustAction extends ActionSupport

接受前端传过来的请求,

网页中404的错误是路径错误,500的错误是属性错误

3.service要调用dao

在custInfo中,要先预览,才能修改,所以此处应先指向预览即updatePreviewCust

4.修改客户信息时还是不能讲客户信息修改完成

是由于UpdateCustAction.java中的方法写成了customer,导致不能修改成功

5.新增客户时,即使新增了客户的电话号码,但还是不能在查询时显示出来

在cust.java中添加了下面代码之后,还是不可以

public String getTelephone() {

return telephone;

}

public void setTelephone(String telephone) {

this.telephone = telephone;

}

后来在Cust.hbm.xml中<property name="telephone" type="string" column="telephone" length="20"/>这段代码移动到id中之后,再新增客户信息时,就能显示客户的电话号码了,但是由于之前的客户信息都是没有加电话号码代码之前就增加的,所以还是不能显示电话号码。

6.之后我们开始做小组项目,我们主要做库存管理

做项目的步骤为:1.搭建环境SSH

2.写配置文件

3.分层实现:Bean:Java.class,xxx.hbm.xml

Dao:Dao接口,Dao实现

Service:service接口,service实现

Action:Action→Service→Dao

hql语句不是SQL语句,需要写String hql = "from Cust cust order by cust.id desc";

订单管理,可以分为订单编号,商品名称,商品价格,支付方式,客户姓名,联系方式,送货地址。这边的支付方式有在线支付,微信,货到付款等,时间可以有两种表达方式:

1.Date yyyy/xxxxdd

2.time 时分秒

多线程,是指多个用户一起点击某个功能时,每个用户都可以使用

7.库存管理的需求分析

就像超市里面,老板要知道哪些货物要下架,哪些货物要增加,库存等等

1.商品编号

2.商品名称

3.商品价格

4.进货渠道

5.进货时间

这个问题是因为没有将自己的工程hxytest部署到Tomcat 6.x中去

8.后来出现了Could not parse mapping document from input stream这个错误

映射错误,因为没网,所以在applicationContext.xml中的链接mysql时链接不上

9.页面中的修改没必要再启动一次

10.下面我们学习了如何自动生成Excel表格

配置完之后,还是不能生成Excel文件

后来发现是没有在kcInfo.java中配置

function funExcel(){

location.href=‘generateExcel.action‘;

}

11.applicationContext.xml中的id是前端,class是后端,id与Struts中的class相对应,Struts中的name是自己取的名字,表示将做什么动作

applicationContext.xml配置的是访问路径

index.jsp是网页的代码,即网页脚本语言,用于嵌入到网页中使用

学习了这么多天,我大概学会了如何写增删改查使得可以在网页中使用想这些操作,大概了解了ssh架构的搭建,还学会了如何将网页中的表格生成excel文件

12.配置完之后的struts.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

<package name="kc" extends="struts-default">

<!-- 保存 -->

<action name="saveKc" class="kcSaveAction">

<result name="success" type="redirect">jsp/kcInfo.jsp</result>

<result name="input">/jsp/kcInfo.jsp</result>

</action>

<!-- 查询 -->

<action name="listKc" class="kcListAction">

<result>/jsp/kcInfo.jsp</result>

</action>

<!-- 删除 -->

<action name="delectKc" class="kcRemoveAction">

<result>/jsp/kcInfo.jsp</result>

</action>

<!-- 条件查询 -->

<action name="findCdtKcList" class="findCdtAction">

<result>/jsp/kcInfo.jsp</result>

</action>

<!-- typeAcion下拉列表 -->

<action name="typeAction" class="typeAction">

<result></result>

</action>

<!-- 修改预览 -->

<action name="updatePreviewkc" class="updatePreviewKcAction">

<result name="success">/jsp/kcUpdate.jsp</result>

</action>

<!-- 修改 -->

<action name="kcUpdate" class="updateKcAction">

<result name="success" type="redirect">listKc.action</result>

<result name="input">/jsp/kcUpdate.jsp</result>

</action>

<!-- 导出excel -->

<action name="generateExcel" class="generateExcelAction">

<result name="success" type="stream">

<param name="contentType">application/vnd.ms-excel</param>

<param name="contentDisposition">filename="AllKc.xls"</param>

<param name="inputName">downloadFile</param>

</result>

</action>

</package>

</struts>

配置完之后的applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans

xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<!--数据库-配置数据连接池 -->

<bean id="dataSource"

class="org.apache.commons.dbcp.BasicDataSource">

<property name="driverClassName"

value="com.mysql.jdbc.Driver">

</property>

<property name="url"

value="jdbc:mysql://localhost:3306/dbssh">

</property>

<property name="username" value="root"></property>

<property name="password" value="123456"></property>

<property name="maxActive" value="100"></property>

<property name="maxWait" value="500"></property>

<property name="defaultAutoCommit" value="true"></property>

</bean>

<!--sessionFactory配置与管理  -->

<bean id="sessionFactory"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="dataSource" ref="dataSource"></property>

<property name="hibernateProperties">

<props>

<prop key="hibernate.dialect">

org.hibernate.dialect.MySQLDialect

</prop>

<prop key="hibernate.show_sql">true</prop>

</props>

</property>

<property name="mappingResources">

<list>

<value>com/crm/bean/Kc.hbm.xml</value>

</list>

</property>

</bean>

<!--配置DAO-->

<bean id="kcDao" class="com.crm.impl.KcDaoImpl">

<property name="sessionFactory">

<ref bean="sessionFactory"/>

</property>

</bean>

<!--配置service  -->

<bean id="kcService" class="com.crm.service.impl.KcServiceImpl">

<property name="kcDao" ref="kcDao"></property>

</bean>

<!--配置-新增saveAction  -->

<bean id="kcSaveAction" class="com.crm.action.KcSaveAction">

<property name="service">

<ref bean="kcService"/>

</property>

</bean>

<!--配置-查询listAction  -->

<bean id="kcListAction" class="com.crm.action.KcListAction">

<property name="service" ref="kcService"></property>

</bean>

<!--配置-删除removeAction  -->

<bean id="kcRemoveAction" class="com.crm.action.KcRemoveAction">

<property name="service" ref="kcService"></property>

</bean>

<!--配置-条件查询findCdtAction  -->

<bean id="findCdtAction" class="com.crm.action.FindKcByCdtAction">

<property name="findCdtService" ref="kcService"></property>

</bean>

<!--配置-typeAction  -->

<bean id="typeAction" class="com.crm.action.TypeAction">

</bean>

<!--配置-修改预览updatePreviewAction  -->

<bean id="updatePreviewKcAction" class="com.crm.action.UpdatePreviewKcAction">

<property name="updatePreviewKcService" ref="kcService"></property>

</bean>

<!--配置-修改updateKcAction  -->

<bean id="updateKcAction" class="com.crm.action.UpdateKcAction">

<property name="updateKcService" ref="kcService"></property>

</bean>

<!-- 导出excel -->

<bean id="generateExcelAction" class="com.crm.action.GenerateExcelAction" scope="prototype">

<property name="excelService">

<ref bean="kcService"></ref>

</property>

</bean>

</beans>

配置完之后的index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib prefix="s" uri="/struts-tags" %>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>库存管理界面</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

<body background="images/2.jpg">

<body>

<br><br><br><br><br><br><br><br>

<!--<div><h1>库存管理界面</h1><br></div>

<form action="" styles=""><font size="10" color="red">ssh-test-集成环境测试</font></form></center>-->

<center>

<div class="divcss5">

<center><h1><font color="red" size="7" face="Arabic Typesetting">操作列表</font></h1><br>

<s:a href="jsp/kcInfo.jsp"><font face="Aparajita"><strong><font size="5">库存信息管理</font></strong></font></s:a><br><br>

<s:a href="jsp/kcInfo.jsp"><font face="Aparajita"><strong><font size="5">查询库存信息</font></strong></font></s:a></center>

</div><br>

</center>

</body>

</html>

还有其他的action中要对增删查改动作的写入,以及各个,全部配置完之后打开网页之后出现的界面,还有点击生成excel的按键出现的界面

可以根据自己的想法对此表格进行操作。

时间: 2024-11-05 02:39:47

短学期(3)第三次感悟的相关文章

软件工程短学期实践第三次随笔

软件工程短学期实践即将接近尾声,我们的软件工程项目也已趋于完成. 软件工程短学期实践项目: 这是一个简单的客户信息管理维护软件,它能把客户编号.客户姓名.客户电话和客户性别保存在数据库之中,我们可以在数据库中查询保存的客户信息,还可以随时修改以及删除客户信息. 随后,我们在老师的指导下,开始自己修改设计软件,我做的是库存管理项目,代码如下: package com.crm.action; import java.util.Map; import com.crm.bean.Item; import

2014短学期实习报告

总结: 两周虽短但收获颇多.我实现的功能有:在客户区输出内容.修改字体.对话框的添加及应用.各对话框的使用.将函数的调用通过函数映射表来实现以及下拉框的添加: 大一时C语言学得和扎实,体现到了现在对以往知识的灵活运用.对新知识的融会贯通,没有遇到很难处理的问题.实习的目标我觉得很简单很容易实现,倒不是说我们做的事少,而是相较于其他编程语言“干活”轻松了,没有一大堆新的类需要理解知识量少而简单.程序结构无须我们自己再去设计而且它提供的结构足够清晰而简单.也是因为他足够简单,它对我们的要求真的不高,

短学期实训——第一篇

短学期的第一天,东软的李老师让我们安装两个环境,在安装过程当中,虽然遇到很多的小困难,老师还是 耐心的为我们每位同学解决困难. , 终于在下午我们完成了第一项任务 在第二天我们 开始编写程序 虽然在运行过程中我们每个人的编辑环境都出现了问题,但是在老师的耐心指导下我们终于将此环境运行成功 利用这三天的时间,我深刻体会到了用户的体验,我们所编写的软件是针对用户而言的,我们应当 考虑到用户体验的各种角度,首先就是用户的第一印象,在这里我们要考虑以下两点,第一点就是谁会是我们的目标用户,第二点就是用户

短学期知识总结(一)

本次的短学期学习,我的收获很多,学习了很多以往都不曾了解的知识.以下是短学期中所讲的部分知识点: Springmvc的概念:springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合.它是一个基于mvc的web框架. MVC在B/S系统下的应用: 1>     用户发起request 请求至控制器 控制接收用户请求的数据,委托给模型进行处理 2>     控制器通过模型处理数据并得到处理结果 模型通常是指业务逻辑 3>     模型处理结果

短学期知识总结(二)

在本次的短学期当中,我学到了拦截器的一些相关知识,可以说是非常实用的,也是大部分做网页的都必须涉及的.以下为拦截器的相关知识: Spring Web MVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理. 定义拦截器: 实现HandlerInterceptor接口 接口中提供三个方法(preHandle,postHandle,afterHandle) 配置拦截器 Springmvc拦截器针对HandlerMapping中配置拦截,经过该Handler

短学期总结(二)

短学期的学习时间虽然不多,但是在这很短的时间里.仍然收获了很多的东西. 下面是一些学习笔记: MVC Model  模型层   实体类 View    视图层    jsp   html Controller  控制层      servelt(实现了前后台的交互) SpringMVC框架 1.Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一. 2.  Spring3.0后全面超越Struts2,成为最优秀的MVC框架 3. SpringMVC通过一套

Android短信监听(三)——利用Loader实现短信监听

MainActivity如下: package cc.c; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.app.LoaderManager.LoaderCallbacks; import android.content.Context; import android.content.Loader; import android.database.Curs

短信开发系列(三):短信接收引擎

短信开发系列目录: 短信开发系列(一):GSM手机短信开发初探短信开发系列(二):GSM手机短信开发之短信解码短信开发系列(三):短信接收引擎 之前写了短信接收处理的一些内容,今年事情实在太多了,就停顿了这么一大段的时间.接下来会继续完成相关的内容. 今天先写用之前写的短信类库的一个应用,短信接收引擎.可以用在处理一些短信的提醒:作为前面两篇文章的一个实战运用,可以作为一个多线程.委托和事件.串口等方面知识的一个综合运用. 先来分析一下整个程序的流程: - 启动线程 - 定时运行线程主函数 -

某个人的三条感悟

一.不管是给别人打工还是自已干,都要全心全意的工作,因为你所做的任何一点工作都会让自已的人生多一点筹码,这一点最最重要!这样的例子我至少可以举出两起,优秀的开发人员被其它新公司挖走,并给一定的股份,成为新公司的股东的例子.当时与这样的开发人员一个部门同时工作或更早工作的有许多人,他们平时经常偷点懒,能少干点工作就少干点,有时候还笑话那个平时努力工作的人傻,几年过去了,究竟谁比谁傻? 二.多与市场人员交朋友,你接触他们时可能总会觉得他们知识比你少,甚至素质比你低,可能比你还有点黄.但实际上他们比你

此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得--转

感谢电子通讯工程的研究生学长为大家整理了这么全面的求职总结,希望进入通信公司和互联网公司做非技术类岗位的学弟学妹们千万不要错过哦~ ---------------------------原文分割线-------------------------- 此文记录了我从研二下学期到研三上学期的找工历程,包括百度.腾讯.网易.移动.电信.华为.中兴.IBM八家企业的面试总结和心得,希望能够帮助到正在找工的朋友和师弟师妹们,并纪念找工这段怀揣着希望和梦想,伴随着紧张和压力,同时令我受益匪浅的日子. (本文