java的ssm框架6_Java零基础入门ssm框架

作为一个无Java基础的程序员,需要在较短时间内投入项目编写,如果从ssm框架的底层原理进行逐步了解学习是不现实,所以在此分享一下我自己对ssm框架的学习过程,以及对ssm框架的粗浅理解。

首先说一下ssm框架是干嘛的,我对其初步的理解是:接受客户端的操作数据,经过已编写好的逻辑运算规则,操作数据库返回给客户端数据,或返回给客户端视图(一个新的页面)。

现在来说一下我要表达的重点——ssm框架工作的原理:

客户端发送请求,后台服务器接受到请求首先被控制层(Controller)拦截,根据映射关系调用业务层(Service)的方法,找到逻辑层(ServiceImpl) ,然后通过持久层(Mapper / Dao)获取对象,对数据库进行操作,查询到的结果存储在实体类(Entity)中,最后这个结果数据会被一层一层的返回到客户端。当然如果你只想请求一个简单的页面跳转,直接在控制层返回一个视图就好了!

说道这里,你或许会觉得这个层、那个层的完全没概念,这个没关系的,现在就以一个简单的项目给大家来点实质的感觉。

目录结构:

AAffA0nNPuCLAAAAAElFTkSuQmCC

现在有一个需求:进入登录页面,在登录页面进行登录操作

第一步:进入到登录页面

package cn.com.dawnpro.demo.controller;

import java.util.List;

import javax.annotation.Resource;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.ExceptionHandler;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.ResponseBody;

import cn.com.dawnpro.demo.entity.User;

import cn.com.dawnpro.demo.service.UserService;

@Controller

public class UserController extends AbstractController{

@Resource

private UserService userService;

@RequestMapping("/toLogin.do")

public String toLogin(){

return "login";

}

}

这里就只是一个页面跳转,客户端发送一个请求(127.0.0.1:8080/demo/toLogin.do),服务器端接收到请求,控制层(controller)拦截到"/toLogin.do"这个消息,返回给客户端一个视图(网页界面)"login",当然这个login必须是一个已经存在的.html文件或者.jsp文件。当然这里为啥会拦截"/toLogin.do",以及返回到客户端的具体是.html还是.jsp,这个就看你配置文件里怎么设置了。

进入到登录页面,我们就可以进行登录操作了。

第二步:登录成功进入到主页

1.控制层(Controller)

@RequestMapping("/login.do")

@ResponseBody

public void login(String mail,String password,HttpSession session,HttpServletRequest request){

User user=userService.login(mail, password);

session.setAttribute("user", user.getName());

}

2.业务层(Service)

package cn.com.dawnpro.demo.service;

import java.util.List;

import cn.com.dawnpro.demo.entity.User;

public interface UserService {

public User login(String mail,String password);

}

3.逻辑层(ServiceImpl)

package cn.com.dawnpro.demo.service;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import cn.com.dawnpro.demo.dao.UserDao;

import cn.com.dawnpro.demo.entity.User;

@Service("userService")

public class UserServiceImpl implements UserService {

@Resource

private UserDao userDao;

@Override

public User login(String mail, String password) {

User user=userDao.findUser(mail,password);

return user;

}

}

4.持久层(Mapper / Dao)

package cn.com.dawnpro.demo.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import cn.com.dawnpro.demo.entity.User;

@Repository

public interface UserDao {

public User findUser(String mail,String password);

}

5.数据库操作配置(mapping.xml)

/p>

"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">

select * from user where mail=#{mail} and password=#{password}

6.实体类(Entity)

package cn.com.dawnpro.demo.entity;

import java.io.Serializable;

import java.util.Date;

public class User implements Serializable {

public int uid;

public String name;

public String mail;

private String password;

public int getUid()

return uid;

}

public void setUid(int uid) {

this.uid = uid;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getMail() {

return mail;

}

public void setMail(String mail) {

this.mail = mail;

}

public String getPassword(){

return password;

}

public void setPassword(String password) {

this.password = password;

}

public User(int uid, String name, String mail, String password) {

super();

this.uid = uid;

this.name = name;

this.mail = mail;

this.password = password;

}

public User() {

super();

}

@Override

public String toString() {

return "User [uid=" + uid + ", name=" + name + ", email=" + mail + ", password=" + password + "]";

}

}

好了,这基本上就是一个简单请求的ssm框架的基本工作流程了,我这里只要是为了阐述这个工作过程,至于其中复杂的验证过程默认为验证通过,以及相关的配置也是默认已经配好了。

现在你是不是对ssm框架有了清晰的结构了解呢?如果觉得有帮助的话,请给我一个赞吧!毕竟第一次写手记

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值