基于SSM框架的Web项目(三)

通过之前两篇文章的内容,我们已经可以做到访问我们的首页并实现页面之间的跳转,接下来就是最后一部分,关于jsp页面传数据到后端,以及后端将数据库里面的数据传输给前端。

一、前端JSP页面代码

首页登录页面,注意表单里面输入框的name属性,后端依靠这个属性来获取jsp页面的对应数据(具体获取方式为:request.getParameter("name"))

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>



    
    用户登录


    
    

登录成功跳转图,注意 欢迎后面‘王老师’三个字(底部跳转成功图片显示),说明JSP页面获取到了后端传输的数据并显示到了页面上

<%--
  Created by IntelliJ IDEA.
  User: SoraHoro
  Date: 2019/3/12 0012
  Time: 20:04
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" %>


    SYB创业培训管理系统
    
    
    


    
欢迎【${admin.name}】登录SYB考试管理系统              

SYB后台管理

二、后端代码

1.Controller层的代码

注意这里,用了Model类,然后model添加了一个属性,属性名为admin,值为笔者从数据库搜索的结果对象。添加之后,前端jsp页面就可以用el表达式,通过属性名.属性值来获取对应的这个对象的各个属性值了。

package com.alice.controller;

import com.alice.entity.AdminInfoEntity;
import com.alice.entity.UserAccountEntity;
import com.alice.service.IAdminInfoService;
import com.alice.service.IUserLoginService;
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 org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.HttpServletRequest;

/**
 * 用户登录接口
 */
@Controller
@RequestMapping("/login")
public class UserLoginController {

    @Autowired
    private IUserLoginService userLoginService;

    @Autowired
    private IAdminInfoService adminInfoService;

    @RequestMapping(value="/verify",method= RequestMethod.POST)
    public String verify(HttpServletRequest request, Model model) {
        String number = request.getParameter("number");
        String password = request.getParameter("password");

        UserAccountEntity userInfo = userLoginService.verifyLoginUser(number, password);
        AdminInfoEntity admin = null;

        if (userInfo != null && userInfo.getNumber() != null && !userInfo.getNumber().isEmpty())
        {
            admin = adminInfoService.getAdminInfoById(number);
        }
        else
        {
            return "admin_not_found";
        }

        model.addAttribute("admin", admin);
        return "syb_manage";
    }

}

2.Service层代码(这里就只展示service实现类的代码了,接口就不展示了)

package com.alice.service.impl;

import com.alice.entity.UserAccountEntity;
import com.alice.mapper.IUserAccountMapper;
import com.alice.service.IUserLoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class IUserLoginServiceImpl implements IUserLoginService {

    @Autowired
    private IUserAccountMapper userAccountMapper;

    @Override
    public UserAccountEntity verifyLoginUser(String number, String password) {
        return  userAccountMapper.verifyUserLogin(number, password);
    }
}


//-------------------------------------------------------------------------------
//下面是另外一个service的代码

package com.alice.service.impl;

import com.alice.entity.AdminInfoEntity;
import com.alice.mapper.IAdminInfoMapper;
import com.alice.service.IAdminInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class IAdminInfoServiceImpl implements IAdminInfoService {
    @Autowired
    private IAdminInfoMapper adminInfoMapper;

    @Override
    public AdminInfoEntity getAdminInfoById(String adminNumber) {
        return adminInfoMapper.getAdminInfoById(adminNumber);
    }
}



3.Mapper层的代码

package com.alice.mapper;

import com.alice.entity.UserAccountEntity;
import com.alice.model.KeyValueVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户账号mapper
 */
public interface IUserAccountMapper {

    void addUser(UserAccountEntity user);

    void deleteUser(List numbers);

    void updateUser(List fieldAndValues);

    UserAccountEntity verifyUserLogin(@Param("number") String number, @Param("password") String password);


}

//--------------------------------------------------------------------------------
//该mapper对应的xml文件的代码




    



//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
//下面是另外一个mapper接口的代码
package com.alice.mapper;

import com.alice.entity.AdminInfoEntity;

public interface IAdminInfoMapper {
    AdminInfoEntity getAdminInfoById(String adminNumber);
}

//--------------------------------------------------------------------------------
//该mapper对应的xml代码




    

jsp传输数据给后端,是通过html控件的name属性绑定的,request通过参数名获取对应参数的值;而后端传输数据给jsp页面,可以用response获取,也可以通过el表达式,笔者用的就是后者。

最后贴上笔者登录成功的图:

基于SSM框架的Web项目(三)_第1张图片

 

基本上基于SSM框架的Web项目就是这些内容,后面其实相当于重复工作了,就是各种业务逻辑,这里就不写了,如果想看该项目的所有代码,可以去github上clone一份(欢迎欢迎,地址:https://github.com/persuation/sybonlinetestsystem.git)

你可能感兴趣的:(Maven项目)