一、Consumer子类

MyController类

@Controller
@RequestMapping("/login")
public class MyController {
@Resource
private UserService userService;
@RequestMapping("/checkLogin")
public String checkLogin(Users users){
Users users1 = userService.checkLogin(users);
if (users1==null) {
return "login";
}
return "index";
}
}

applicationContext.xml

<mvc:annotation-driven/>
<context:annotation-config/>
<!-- 配置视图解析器,设置前缀和后缀,自动拼接 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/jsp/" />
<!-- 后缀 -->
<property name="suffix" value=".jsp" />
</bean> <mvc:default-servlet-handler/>
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="consumer"/> <!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="192.168.118.3:2181,192.168.118.4:2181,192.168.118.5:2181" protocol="zookeeper" /> <!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="" /> <!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
<dubbo:reference id="userService" interface="com.yjc.service.UserService" />

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>登录成功,NB!</h1>
</body>
</html>

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false" %>
<!DOCTYPE html>
<form action="/login/checkLogin" method="post">
<div>
<input type="text" class="form-control" name="userName" placeholder="请输入用户名" required="" />
</div>
<div>
<input type="password" class="form-control" name="password" placeholder="请输入密码" required="" />
</div>
<div>
<button type="submit" class="btn btn-success">登 录</button>
<button type="reset" class="btn btn-default">重 填</button>
</div> </form>

web.xml

  <!--Spring和MyBatis整合的核心配置-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--配置SpringMVC的核心控制器DispatcherServlet-->
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</init-param>
</servlet> <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<!--设置映射路径,/代表所有的请求都会被核心控制器映射到对应的Controller中-->
<url-pattern>/</url-pattern>
</servlet-mapping> <!--编码过滤器-->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!--初始化参数-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-</param-value>
</init-param>
</filter>

二、Producers子类

dao层Login类

@Repository
public interface Login {
@Select("select * from myuser where username=#{userName}")
Users checkLogin(String userName);
}

impl层UserServiceImpl类

@Service("userService")
public class UserServiceImpl implements UserService {
@Resource
private Login login;
@Override
public Users checkLogin(Users users) {
Users users1 = login.checkLogin(users.getUserName());
if (users1!=null){
if (users1.getPassword().equals(users.getPassword())){
return users1;
}
}
return null;
}
}

applicationContext.xml

<!--    导入数据库连接文件-->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="location" value="classpath:jdbc.properties"/>
</bean>
<!--配置数据源-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="password" value="${jdbc.password}"/>
<property name="username" value="${jdbc.user}"/>
</bean> <!--配置MyBatis的核心对象SqlSessionFactoryBean-->
<bean id="SessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--创建包扫描器(借助dao接口实现动态代理)-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer ">
<property name="basePackage" value="com.yjc.dao"/>
</bean>
<context:component-scan base-package="com.yjc"/>
<context:annotation-config/>
<mvc:annotation-driven/> <!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="app-provider"/> <!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="192.168.118.3:2181,192.168.118.4:2181,192.168.118.5:2181" protocol="zookeeper" /> <!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="" /> <!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="com.yjc.service.UserService" ref="userService" />

三、Service子类

entity包下的Userl类

public class Users implements Serializable {
private Integer id;
private String userName;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer 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;
}
@Override
public String toString() {
return "Users{" +
"id=" + id +
", userName='" + userName + '\'' +
", password='" + password + '\'' +
'}';
}
public Users() {
}
public Users(Integer id, String userName, String password) {
this.id = id;
this.userName = userName;
this.password = password;
}
}

service包下的UserService

public interface UserService {
Users checkLogin(Users users);
}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

最新文章

  1. Bootstrap &lt;基础十二&gt;下拉菜单(Dropdowns)
  2. QIBO CMS SQL Injection Via Variable Uninitialization In \member\special.php
  3. windows日常软件推荐
  4. thinpad E43系列WIN8装WIN7系统
  5. TC SRM 665 DIV2 A LuckyXor 暴力
  6. [001]const和指针
  7. 详解MySQL中EXPLAIN解释命令(转)
  8. 腾讯面试题 腾讯面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?
  9. 跳转APP(app之间互相通信)
  10. 郁闷的C小加(一)(后缀表达式)
  11. 转:iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解
  12. springMVC和spring上下文的关系
  13. 解决AES算法CBC模式加密字符串后再解密出现乱码问题
  14. 翻译:load data infile(已提交到MariaDB官方手册)
  15. PostGIS中生成GUID字段值
  16. P3426 [POI2005]SZA-Template
  17. Cannot read property ‘msie’ of undefined错误原因以及解决方案
  18. Fundamentals of Garbage Collection
  19. 在linux下监控文件是否被删除或创建的命令
  20. codevs 1540 银河英雄传说 并查集

热门文章

  1. Fedora30 install VS Code
  2. day32——进程、操作系统
  3. docker(三):服务services
  4. FIFO形成3x3矩阵
  5. go 学习笔记(1)go command
  6. 创建包含CRUD操作的Web API接口2:实现Get方法
  7. oracle中的CURRVAL和NEXTVAL用法
  8. 转 让NET C# 程序独立运行(脱离 .NET Framework运行,绿色运行) 未验证
  9. 用js写的简单的下拉菜单
  10. Python线性回归算法【解析解,sklearn机器学习库】