人生第一把ssm实现login

话不多说开整

1.项目结构


2.配置文件

a.web.xml


b.springmvc.xml



c.sqlmapper.xml(鸡肋鸡肋)


d.applicationContext-dao.xml


e.applicationContext-service.xml


f.applicationContext-trans.xml


3.pojo实体类(数据库就省了吧!)

package com.ithyl.pojo;


public class User {
private int id;
private String username;
private String password;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}

}


4.dao与数据库建立联系

a...

package com.ithyl.mapper;


import com.ithyl.pojo.User;


public interface UserDao {
   public User selectByUN(String username);
   public User selectByPW(String password);
}

b:

<?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
          "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
    <!--namespace用于与DAO层的接口类进行绑定,这样我们无需实现DAO层的接口
    类,其接口类就能够自动的找到相关的SQL语句进行绑定实现-->
  <mapper namespace="com.ithyl.mapper.UserDao">
     <!--select表示查询,它的id名称必须与DAO层接口的方法名相同,否则无法绑定-->
     <select id="selectByUN" parameterType="string" resultType="com.ithyl.pojo.User">
         select * from tb_user where username = #{username}
     </select>
 
     <select id="selectByPW" parameterType="int" resultType="com.ithyl.pojo.User">
 
          select * from tb_user where password= #{password}
     </select>
 
 
</mapper>

5.service业务层先来个借口写抽象方法

package com.ithyl.service;


public interface UserService {
public boolean login(String username,String password);
}

在写个实现类、、、、、、、、、、、、

package com.ithyl.service;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


import com.ithyl.mapper.UserDao;
import com.ithyl.pojo.User;
//@Service("UserService") 注解用于标示此类为业务层组件,在使用时会被注解的类会自动由
    //spring进行注入,无需我们创建实例
@Service("UserService")
public class UserServiceImpl implements UserService {
    //自动注入iuserdao 用于访问数据库
    @Autowired
    UserDao Mapper;

   //登录方法的实现,从jsp页面获取username与password
    public boolean login(String username, String password) {
//        System.out.println("输入的账号:" + username + "输入的密码:" + password);
        //对输入账号进行查询,取出数据库中保存对信息
        User user = Mapper.selectByUN(username);
        if (user != null) {
//            System.out.println("查询出来的账号:" + user.getUsername() + "密码:" + user.getPassword());
//            System.out.println("---------");
            if (user.getUsername().equals(username) && user.getPassword().equals(password))
                return true;
 
        }
        return false;

   }


}

6.业务当然要有控制类controller来控制

package com.ithyl.controller;


import javax.servlet.http.HttpServletRequest;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;


import com.ithyl.pojo.User;
import com.ithyl.service.UserService;


//@Controller注解用于标示本类为web层控制组件
@Controller
//@RequestMapping("/user")用于标定访问时对url位置
//@RequestMapping("/user")
//在默认情况下springmvc的实例都是单例模式,所以使用scope域将其注解为每次都创建一个新的实例
@Scope("prototype")
public class Login {
  //自动注入业务层的userService类
  @Autowired
      UserService userService;


  //login业务的访问位置为/user/login
  @RequestMapping("/login")
     public String login(User user,HttpServletRequest request){
      //调用login方法来验证是否是注册用户
      boolean loginType = userService.login(user.getUsername(),user.getPassword());
      if(loginType){
          //如果验证通过,则将用户信息传到前台
          request.setAttribute("user",user);
          //并跳转到success.jsp页面
          return "success";
      }else{
          //若不对,则将错误信息显示到错误页面
          request.setAttribute("message","用户名密码错误");
          return "error";
      }
  }、

jsp就算了吧!!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主要特色:自由定制的双风格,分桢讨论区,内含GVBBS4.1版升级包<br> 4.2新增功能<br> 1,论坛进站画面增加双风格显示(完整型/简约型)后台基本信息可以订制<br> 2,主题属性增设了积分贴,用户发帖的时候可以自己订制浏览该贴的分数(主要防止论坛太多潜水员)<br> 3,论坛属性之外增设浏览论坛的用户等级(主要防止论坛太多潜水员),这个可以在论坛后台编辑版面的时候设定。<br> 4,论坛分版内增加了本版在线名单,后台可以订制默认是否打开。<br> 5,论坛前台增加了斑竹禁言功能,后台可以订制是否开发此功能!<br> 6,论坛分类,论坛版面后台新增默认风格属性,自由定制用户首次进入的显示风格。<br> 7,去掉了首次进入本站的cookies支持提示,但是用户登陆仍然需要cookies支持才能登陆。<br> 8,用户等级新增多个属性,管理员定制更加灵活。 <br> 9,后台两级管理员,不限量增加,总管理员可在asp文件内定普通管理员权限<br> 10,此外修复一些Bug<br> 4.3新增功能:<br> 1,社区增加个人媒体库,这样大家既可以灵活的上传、 删除自己的文件,又能节约社区有限的空间。<br> 当您的媒体库满了,你可以自行删除老的文件释放空间,也可以向管理员申请给自己大一些上传空间。<br> 2,后台用户管理增加复杂查询,由于功能强大,查询结构复杂请管理员使用仔细看旁边的注释。<br> 3,后台短信管理增加复杂查询,由于功能强大,查询结构复杂请管理员使用仔细看旁边的注释。<br> 4,后台配色模版新增一个色彩变量,就是主题文章背景色。<br> 5,前台配色我们变动了几个变量位置,这样能更加灵活的发挥您的想象力,使配色方案变化更多,新增了三个配色方案<br> 6,新增帮助文件。<br> 7,修复n多bug<br> 4.3.1新增功能:<br> 1,增加页面预载动画<br> 2,修复前台管理权限混乱<br> 3,修复findpass.asp页面错误处理请求<br> 4,过滤不安全字符<br> 5,修复编辑状态上传无法关闭问题<br> 6,过滤大容量写入or编辑操作<br> 7,论坛用户权限设定(后台)<br> 8,修复其它n个bug<br> 默认管理员 gamvan 默认登陆密码 gamvan

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值