Spring登录页面(用纯配置方式)

Spring登录页面(用纯配置方式)

1. spring简介:

 【1】什么是Spring?

*Spring是一个开源的轻量级的应用开发框架,其目的是用于简化企业级应用程序开发,减少侵入。

   *Spring提供的IOC和AOP应用,可以将组件的耦合度降至最低,即解耦,便于系统日后的维护和升级。

   *Spring为系统提供了一个整体的解决方案,开发者可以利用它本身提供的功能外,也可以与第三方框架和技术整合应用,可以自由选择采用哪种技术进行开发。

 【2】为什么要用Spring?

   Spring的本质是管理软件中的对象,如何创建对象和维护对象之间的关系。

 【3】springMVC简介

       SpringWeb+ MVC 是spring框架非常重要的功能模块。实现了mvc结构,便于简单,快速开发mvc结构的web程序。Spring weg mvc 提供的api封装了web开发中常用的功能。简化了web过程。

 【4】springJDBC简介:

       Spring框架提出了jdbcTemplate类作为数据库访问类,该类是Spring框架数据抽象层的概念,其他更高层的抽象类也是构建于jdbcTemplate类之上。JdbcTemplate类是SpringJDBC数据库操作的核心。

       Spring框架提供的jdbc支持主要由4个包组成,分别是core(核心包),object(对象包),dataSource(数据源包)和suppor(支持包)

       JdbcTemplate类继承自抽象类JdbcAccessor,同时实现了jdbcOperations接口。

       DataSource:获取数据库连接

SQLExceptionTranslator:这个接口扶着对SQLExcetion进行转译工作。

2.spring运行流程:

 

3.整个项目图:


使用到的相关知识:

SpringJDBC,SpringMVC,Spring配置,spring属性注入

设计思路

1.导入jar包

2.设计数据库

3.设计jsp页面

4.使用springJDBC,实现entity->dao->service业务逻辑。

5.使用springMVC实现jsp页面切换操作。

源码如下:

1.数据库设计:

create table user (

 id int primary keyauto_increment,

 username varchar(20) unique,

 password varchar(18)

);

insert into user(username,password) values('ww','123'); 

select * from user where username='ww' and password='123';

2.login.jsp

<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">

<html>

  <head>

    <title>登录</title>

       <metahttp-equiv="pragma" content="no-cache">

       <metahttp-equiv="cache-control" content="no-cache">

  </head>

  <body>

  <formaction="login.form" method="post">

  <span>用户名:</span><input type="text" name="username"><br> 

  <span>密码:</span><inputtype="password" name="password"><br>

  <inputtype="submit">

  </form>

  </body>

</html>

 
3.success.jsp

<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">

<html>

  <head>

    <title>登录成功!</title>

       <metahttp-equiv="pragma" content="no-cache">

       <metahttp-equiv="cache-control" content="no-cache">

  </head>

  <body>

    欢迎你,${username }

  </body>

</html>

4.error.jsp

<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">

<html>

  <head>

    <title>出错!!</title>

       <metahttp-equiv="pragma" content="no-cache">

       <metahttp-equiv="cache-control" content="no-cache">

  </head>

  <body>

    出现错误!

  </body>

</html>

5.servletweb.xml配置:

<?xmlversion="1.0" encoding="UTF-8"?>

<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"version="2.5">

  <welcome-file-list>

   <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

    <filter>

   <filter-name>encodingFilter</filter-name>

    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

    <init-param>

      <param-name>encoding</param-name>

     <param-value>UTF-8</param-value>

    </init-param>

  </filter>

  <filter-mapping>

    <filter-name>encodingFilter</filter-name>

     <url-pattern>/*</url-pattern>

  </filter-mapping>

  <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:spring-mvc.xml</param-value>

      </init-param>

      <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

    <servlet-name>springmvc</servlet-name>

    <url-pattern>*.form</url-pattern>

  </servlet-mapping>

  

</web-app>

6.spring-mvc.xml设计:

<?xmlversion="1.0" encoding="UTF-8"?>

<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

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

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

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

       xsi:schemaLocation="

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

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

              http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util.xsd

              http://www.springframework.org/schema/jeehttp://www.springframework.org/schema/jee/spring-jee.xsd

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

              http://www.springframework.org/schema/data/jpahttp://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd

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

       <!--数据连接操作  -->

      <!--数据源 -->

 <bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">

    <!--数据库驱动  -->

    <propertyname="driverClassName" value="com.mysql.jdbc.Driver"/>

    <!-- 连接数据库的URL-->

      <propertyname="url" value="jdbc:mysql://127.0.0.1/test"/>

      <!--连接数据库的用户名 -->

      <propertyname="username" value="root"></property>

      <!--连接数据库的密码 -->

      <propertyname="password" value="root"></property>

 </bean>

 <!-- 配置jdbc模板-->

 <bean id="jdbcTemplate"class="org.springframework.jdbc.core.JdbcTemplate">

   <property name="dataSource"ref="dataSource"></property>

 </bean>

 <!-- 配置注入类-->

      <!-- 配置userDao-->

  <bean id="userDao"class="dao.impl.UserDaoImpl">

    <property name="jdbcTemplate"ref="jdbcTemplate"></property>

  </bean>

 

  <!-- 配置userService-->

  <bean id="userService"class="service.impl.UserServiceImpl">

    <property name="userDao"ref="userDao"/>

  </bean>

 

 <bean id="handlerMapping"class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

     <!-- 指定请求和Controller对应的关系-->

   <property name="mappings"ref="urlMappings" />

 </bean>

 <bean id="login"class="controller.Login">

   <property name="userService"ref="userService"></property>

 </bean>

       <!--定义请求映射表-->

       <util:propertiesid="urlMappings">

          <prop key="/login.form">login</prop>

       </util:properties>

   <!-- 定义视图解析器-->

<beanid="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

   <property name="prefix"value="/" />

    <property name="suffix"value=".jsp"></property>

</bean>

</beans>

7.entity->User.java

package entity;

public class User {

       private int id;

       private String username;

       private String password;

       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;

       }

       @Override

       public String toString() {

              return "User [id=" + id + ",username=" + username + ", password="

                            + password + "]";

       }

}

8.dao->UserDao.java

package dao;

import entity.User;

public interface UserDao {

       public User getUser(String username,String password);//查找这个用户

}

9.dao.impl->UserDaoImpl.java

package dao.impl;

 

importorg.springframework.jdbc.core.JdbcTemplate;

importorg.springframework.jdbc.core.RowMapper;

importorg.springframework.jdbc.core.simple.ParameterizedBeanPropertyRowMapper;

 

import dao.UserDao;

import entity.User;

 

public class UserDaoImplimplements UserDao{

    private JdbcTemplate jdbcTemplate;

     public void setJdbcTemplate(JdbcTemplatejdbcTemplate) {

              this.jdbcTemplate = jdbcTemplate;

       }

       @Override

       public User getUser(String username, String password) {

              String sql="select * from user where username=?and password =?";

              RowMapper<User>rowMapper=ParameterizedBeanPropertyRowMapper.newInstance(User.class);

              try {

                     returnjdbcTemplate.queryForObject(sql,rowMapper,username,password);

              } catch (Exception e) {    //这里这个处理方法真的很low....

                     return null;

              }

               

       }

   

}

10.service->UserService.java

package service;

 

import entity.User;

 

public interface UserService{

       public User getUser(String username,String password);//查找这个用户

}

11.service.impl->UserServiceImpl.java

package service.impl;

 

import service.UserService;

import dao.UserDao;

import entity.User;

 

public class UserServiceImplimplements UserService{

       private UserDao userDao;

       public void setUserDao(UserDao userDao) {

              this.userDao = userDao;

       }

       public User getUser(String username,String password) {

              return userDao.getUser(username, password);

       }

}

12.controller->Login.java

 package controller;

 

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

 

importorg.springframework.web.servlet.ModelAndView;

importorg.springframework.web.servlet.mvc.Controller;

 

import entity.User;

import service.UserService;

 

public class Loginimplements Controller {

       private UserService userService;

       public void setUserService(UserService userService) {

              this.userService = userService;

       }

       @Override

       public ModelAndView handleRequest(HttpServletRequest request,

                     HttpServletResponse response) throws Exception {

              String username =request.getParameter("username");

              String password =request.getParameter("password");

              System.out.println(username+":"+password);

              User user = userService.getUser(username, password);

              ModelAndView result = null;

              System.out.println(user);

              if (user != null) {

                     request.getSession().setAttribute("username",username);

                     request.setAttribute("password",password);

                     result = new ModelAndView("success");

              } else {

                     result = new ModelAndView("error");

              }

              return result;

 

       }

}

 

总结:这个示例其实对spring算是比较入门的内容了。MVC设计模式和平时的servlet写法是一致的。唯一不一样的就是把所有的new的地方写成了配置形式

 

 

微笑微笑本内容由安康学院”雨季”原创!

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值