基于 SSM 框架的 Soso 移动业务大厅

基于 SSM 框架的 Soso 移动业务大厅 一, 整体基本实现情况 对本学期的 Java 作业 1 的 SOSO 移动大厅进行改进, 基于 SSM

本文包含相关资料包-----> 点击直达获取<-------

基于 SSM 框架的 Soso 移动业务大厅

一、 整体基本实现情况

对本学期的 Java 作业 1 的 SOSO 移动大厅进行改进, 基于 SSM、JSP、Maven、Tomcat、MySQL 等实现。

二、 实现详情

1、 工程结构图

2、 工程结构各部分实现

(1)Java

pojo: 存放自定义的 Java 类。每个类的属性设为 private,并提供 public 属性的 getter/setter 方法让外界访问。

// MobileCard.java

``` package com.pojo;

//手机卡类 public class MobileCard { private String cardNumber; //卡号 private String userName; //用户名 private String passWord; //密码 private String serPackage; //服务包 private double consumAmount; //总消费额 private double money; //余额 private int realTalkTime; //实际通话时间 private int realSMSCount; //实际短信数量 private int realFlow; //实际流量消耗

public MobileCard() {
    this.realTalkTime = 0;
    this.realSMSCount = 0;
    this.realFlow = 0;
}

public String getcardNumber() {
    return cardNumber;
}
public String getuserName() {
    return userName;
}
public String getpassWord() {
    return passWord;
}
public String getserPackage() {
    return serPackage;
}
public double getconsumAmount() {
    return consumAmount;
}
public double getmoney() {
    return money;
}
public int getrealTalkTime() {
    return realTalkTime;
}
public int getrealSMSCount() {
    return realSMSCount;
}
public int getrealFlow() {
    return realFlow;
}

public void setcardNumber(String temp) {
    cardNumber = temp;
}
public void setuserName(String temp) {
    userName = temp;
}
public void setpassWord(String temp) {
    passWord = temp;
}
public void setserPackage(String temp) { serPackage = temp; }
public void setconsumAmount(double temp) {
    consumAmount = temp;
}
public void setmoney(double temp) {
    money = temp;
}
public void setrealTalkTime(int temp) {
    realTalkTime = temp;
}
public void setrealSMSCount(int temp) {
    realSMSCount = temp;
}
public void setrealFlow(int temp) {
    realFlow = temp;
}

} ```

service:定义接口,包含系统所提供的功能。此外还会在 service 包下再新建 impl 包。

//SosoService.java

``` package com.service; import com.pojo.MobileCard; import java.util.List;

public interface SosoService { int userRegister(MobileCard newUser);

List<MobileCard> queryAllUser();

}

```

dao:定义接口,包含与数据库进行交互的功能。

//SosoDao.java

``` package com.dao; import com.pojo.MobileCard; import java.util.List;

public interface SosoDao { int userRegister(MobileCard newUser); List queryAllUser(); } ```

controller:控制器,负责接收页面请求,转发和处理。

//SosoController.java

``` package com.controller; import com.pojo.MobileCard; import com.service.SosoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest; import java.util.List;

@Controller @RequestMapping("/soso") public class SosoController { @Autowired private SosoService sosoService; @Autowired HttpServletRequest request;

@RequestMapping("/userRegisterWeb")
public String userRegisterWeb(MobileCard newUser) {
    return "userRegister";
}

@RequestMapping(value = "/userRegister")
public String userRegister() {
    MobileCard newUser = new MobileCard();
    newUser.setcardNumber(request.getParameter("cardNumber"));
    newUser.setuserName(request.getParameter("userName"));
    newUser.setpassWord(request.getParameter("passWord"));
    newUser.setserPackage(request.getParameter("serPackage"));
    newUser.setconsumAmount(Double.valueOf(request.getParameter("consumAmount")));
    newUser.setmoney(Double.valueOf(request.getParameter("money")));
    newUser.setrealTalkTime(Integer.valueOf(request.getParameter("realTalkTime")));
    newUser.setrealSMSCount(Integer.valueOf(request.getParameter("realSMSCount")));
    newUser.setrealFlow(Integer.valueOf(request.getParameter("realFlow")));
    sosoService.userRegister(newUser);
    return "userRegister";
}

@RequestMapping("/allUserWeb")
public String allUserWeb(Model model) {
    List<MobileCard> list = sosoService.queryAllUser();
    model.addAttribute("list", list);
    return "allUser";
}

} ```

(2)resource

在 resource 包下有两个文件夹, “mapper”(用于存放 xxxMapper.xml 文件)和“Spring”(用于存放 spring-xxx.xml 配置文件)。

jdbc.properties:MySQL 数据库配置文件

log4j.properties:日志输出配置文件

mybatis-config.xml:MyBatis 框架配置文件

//mapper 文件

```

<insert id="userRegister" parameterType="MobileCard">
    INSERT INTO MobileCardMYSQL(CardNumber,UserName,PassWord,SerPackage,ConsumAmount,Money, RealTalkTime, RealSMSCount, RealFlow) VALUE (#{cardNumber},#{userName}, #{passWord}, #{serPackage}, #{consumAmount},#{money}, #{realTalkTime}, #{realSMSCount}, #{realFlow})
</insert>

<select id="queryAllUser" resultMap="sosoResultMap">
    SELECT * FROM MobileCardMYSQL
</select>

```

// jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/soso?useUnicode=true&characterEncoding=utf8 jdbc.username=root jdbc.password=root

// log4j.properties

log4j.rootLogger=ERROR, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

// mybatis-config.xml

```

    <!-- 使用列别名替换列名 默认:true -->
    <setting name="useColumnLabel" value="true" />

    <!-- 开启驼峰命名转换:Table{create_time} -> Entity{createTime} -->
    <setting name="mapUnderscoreToCamelCase" value="true" />
</settings>

```

(3)JSP

Web 界面配置

// index.jsp 主界面

``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <% pageContext.setAttribute("path", request.getContextPath()); %>

首页


用户登录

用户注册

使用嗖嗖

话费充值

资费说明

退出系统

```

(4)pom.xml

在此文件中配置项目所需要的 jar 包。

```

4.0.0 com first war 1.0-SNAPSHOT first Maven Webapp http://maven.apache.org UTF-8 UTF-8 5.0.3.RELEASE 3.4.4 junit junit 3.8.1 test org.springframework spring-core ${spring.version} org.springframework spring-beans ${spring.version} org.springframework spring-context ${spring.version} org.springframework spring-context-support ${spring.version} org.springframework spring-jdbc ${spring.version} org.springframework spring-tx ${spring.version} org.springframework spring-web ${spring.version} org.springframework spring-webmvc ${spring.version} org.springframework spring-test ${spring.version} javax.servlet javax.servlet-api 3.0.1 provided javax.servlet.jsp jsp-api 2.2 provided javax.servlet jstl 1.2 taglibs standard 1.1.2 com.fasterxml.jackson.core jackson-databind 2.9.4 mysql mysql-connector-java 5.1.38 com.mchange c3p0 0.9.5.2 org.mybatis mybatis ${mybatis.version} org.mybatis mybatis-spring 1.3.1 ch.qos.logback logback-classic 1.1.1 first org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 ```

(5)Spring

spring-dao.xml:(spring-mybatis 整合配置文件)

```

<!-- 2.数据库连接池 -->
<bean id="dataSource" >
  <!-- 配置连接池属性 -->
  <property name="driverClass" value="${jdbc.driver}"/>
  <property name="jdbcUrl" value="${jdbc.url}"/>
  <property name="user" value="${jdbc.username}"/>
  <property name="password" value="${jdbc.password}"/>

  <!-- c3p0连接池的私有属性 -->
  <property name="maxPoolSize" value="30"/>
  <property name="minPoolSize" value="10"/>
  <!-- 关闭连接后不自动commit -->
  <property name="autoCommitOnClose" value="false"/>
  <!-- 获取连接超时时间 -->
  <property name="checkoutTimeout" value="10000"/>
  <!-- 当获取连接失败重试次数 -->
  <property name="acquireRetryAttempts" value="2"/>
</bean>

<!-- 3.配置SqlSessionFactory对象 -->
<bean id="sqlSessionFactory" >
  <!-- 注入数据库连接池 -->
  <property name="dataSource" ref="dataSource"/>
  <!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
  <property name="configLocation" value="classpath:mybatis-config.xml"/>
  <!-- 扫描pojo包 使用别名 -->
  <property name="typeAliasesPackage" value="com.pojo"/>
  <!-- 扫描sql配置文件:mapper需要的xml文件 -->
  <property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>

<!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
<bean >
  <!-- 注入sqlSessionFactory -->
  <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
  <!-- 给出需要扫描Dao接口包 -->
  <property name="basePackage" value="com.dao"/>
</bean>

```

Spring-mvc

```

<!-- 2.静态资源默认servlet配置
    (1)加入对静态资源的处理:js,gif,png
    (2)允许使用"/"做整体映射
 -->
<mvc:default-servlet-handler/>

<!-- 3.配置jsp 显示ViewResolver -->
<bean class="A27_ed89_89f6f43 org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>

<!-- 4.扫描web相关的bean -->
<context:component-scan base-package="com.controller" />

```

Spring-service

```

<!-- 配置事务管理器 -->
<bean id="transactionManager"
      class="B35_0cc7_c75316c org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <!-- 注入数据库连接池 -->
    <property name="dataSource" ref="dataSource" />
</bean>
<!-- 配置基于注解的声明式事务 -->
<tx:annotation-driven transaction-manager="transactionManager" />

```

三、 参考资料

https://blog.csdn.net/khxu666/article/details/79851070

参考文献

  • 基于SOA的移动教务及过程管理平台的设计与实现(吉林大学·赵圆圆)
  • IDP(综合数据业务平台)数据持久层和内容管理的设计与实现(北京邮电大学·常旭)
  • 基于SOA的电信SPS系统设计与实现(中南大学·胡睿达)
  • IDP(综合数据业务平台)数据持久层和内容管理的设计与实现(北京邮电大学·常旭)
  • 企业移动应用平台应用商店和用户授权管理子系统的设计与实现(北京交通大学·张炳彦)
  • 中国移动浙江公司渠道集中化管理系统的设计与实现(山东大学·潘迪科)
  • 基于移动终端的营销能力自动化系统设计与实现(厦门大学·王锦标)
  • 客户营销模式及销售管理平台的设计(吉林大学·张宏)
  • 分布式测试系统Web服务封装及管理系统的设计与实现(电子科技大学·袁一)
  • 中国移动浙江公司渠道集中化管理系统的设计与实现(山东大学·潘迪科)
  • 基于需求语义描述的多平台统一框架的研究与实现(中国海洋大学·辛灿灿)
  • 基于SOA的呼叫中心增值业务平台的设计与实现(东华大学·祁博民)
  • 大卖场电子商务第三方服务平台(搜啦网)设计与实现(电子科技大学·王汝平)
  • 基于智能手机平台的铁路旅客移动服务信息系统的研究(首都师范大学·张稳洁)
  • 构建基于SOA的企业应用的策略和方法(内蒙古大学·张俊青)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设小屋 ,原文地址:https://bishedaima.com/yuanma/35858.html

相关推荐

发表回复

登录后才能评论