php使用webservivce_基于SSM框架实现简单的登录注册的示例代码

一、环境配置工程目录

在pom.xml添加依赖

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.imooc

userLogin

0.0.1-SNAPSHOT

war

junit

junit

4.11

test

org.slf4j

slf4j-api

1.7.12

ch.qos.logback

logback-core

1.1.1

ch.qos.logback

logback-classic

1.1.1

mysql

mysql-connector-java

5.1.35

runtime

c3p0

c3p0

0.9.1.2

org.mybatis

mybatis

3.3.0

org.mybatis

mybatis-spring

1.2.3

taglibs

standard

1.1.2

jstl

jstl

1.2

com.fasterxml.jackson.core

jackson-databind

2.5.4

javax.servlet

javax.servlet-api

3.1.0

org.springframework

spring-core

4.2.0.RELEASE

org.springframework

spring-beans

4.2.0.RELEASE

org.springframework

spring-context

4.2.0.RELEASE

org.springframework

spring-jdbc

4.2.0.RELEASE

org.springframework

spring-tx

4.2.0.RELEASE

org.springframework

spring-web

4.2.0.RELEASE

org.springframework

spring-webmvc

4.2.0.RELEASE

org.springframework

spring-test

4.2.0.RELEASE

userLogin

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.8

1.8

数据库驱动配置

jdbc.properties

jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/mysystem?useUnicode=true&characterEncoding=UTF-8

jdbc.username=root

jdbc.password=kongtao

spring-web.xml

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

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

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

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

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

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

">

二、具体逻辑实现数据访问对象(DAO接口)

UserDao.java

package com.sy.dao;

import org.apache.ibatis.annotations.Param;

import com.sy.entity.User;

public interface UserDao {

/**

* 查找用户名和密码

* @param username 登录用户名

* @return

*/

User findByUsername(String username);

/**

* 注册用户和密码

*/

void registerByUsernameAndPassword(@Param("username")String username,

@Param("password")String password);

}

UserDao.xml

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

select * from user where username = #{username}

insert into user (username,password)

values (#{username},#{password})

控制器

UserController.java

package com.sy.controller;

import javax.servlet.http.HttpSession;

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 org.springframework.web.bind.annotation.SessionAttributes;

import com.sy.entity.User;

import com.sy.service.UserService;

@Controller

@RequestMapping("/user")

//这里用了@SessionAttributes,可以直接把model中的user(也就key)放入其中

//这样保证了session中存在user这个对象

@SessionAttributes("user")

public class UserController {

@Autowired

private UserService userServivce;

//正常访问login页面

@RequestMapping("/login")

public String login(){

return "login";

}

//表单提交过来的路径

@RequestMapping("/checkLogin")

public String checkLogin(User user,Model model){

//调用service方法

user = userServivce.checkLogin(user.getUsername(), user.getPassword());

//若有user则添加到model里并且跳转到成功页面

if(user != null){

model.addAttribute("user",user);

return "success";

}

return "fail";

}

//测试超链接跳转到另一个页面是否可以取到session值

@RequestMapping("/anotherpage")

public String hrefpage(){

return "anotherpage";

}

//注销方法

@RequestMapping("/outLogin")

public String outLogin(HttpSession session){

//通过session.invalidata()方法来注销当前的session

session.invalidate();

return "login";

}

@RequestMapping("/regist")

public String regist(){

return "regist";

}

@RequestMapping("/doRegist")

public String doRegist(User user,Model model){

System.out.println(user.getUsername());

userServivce.Regist(user);

return "success";

}

}

实体类

package com.sy.entity;

public class User {

private String id;

private String username;

private String password;

public String getId() {

return id;

}

public void setId(String 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;

}

}

相关服务

UserService.java (接口)

package com.sy.service;

import com.sy.entity.User;

//Service层接口

public interface UserService {

//检验用户登录

User checkLogin(String username,String password);

void Regist(User user);

}

UserServiceImpl.java

package com.sy.service.Impl;

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

import org.springframework.stereotype.Service;

import com.sy.dao.UserDao;

import com.sy.entity.User;

import com.sy.service.UserService;

@Service

public class UserServiceImpl implements UserService{

@Autowired

private UserDao userDao;

/*

* 检验用户登录业务

*

*/

public User checkLogin(String username, String password) {

User user = userDao.findByUsername(username);

if(user != null && user.getPassword().equals(password)){

return user;

}

return null;

}

@Override

public void Regist(User user) {

userDao.registerByUsernameAndPassword(user.getUsername(),user.getPassword());

}

}

其他配置文件

持久层相关配置文件 sprintg-dao.xml

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

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

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

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

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx.xsd">

spring-service.xml

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

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

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

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

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx.xsd">

logback.xml

%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n

mybatis-config.xml

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

JSP视图文件

pageEncoding="utf-8"%>

Insert title here
用户名:
密码:

regist.jsp

Created by IntelliJ IDEA.

User: 86265

Date: 2018/1/30

Time: 10:32

To change this template use File | Settings | File Templates.

--%>

用户注册页面

注册页面


用户名
密码

success.jsp

pageEncoding="UTF-8"%>

Insert title here

welcome,${sessionScope.user.username}!

this is success page!

点我跳到另一个页面

fail.jsp

pageEncoding="ISO-8859-1"%>

Insert title here

u are loser,this is a fail page!

anotherpage.jsp

pageEncoding="UTF-8"%>

Insert title here

${sessionScope.user.username}!!!!!

三、运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值