5. SpringMVC注解类实践例子1

来源:互联网 发布:淘宝 红包套现 熟人 编辑:程序博客网 时间:2024/06/06 09:54

本系列入门学习参考极客学院Spring入门系列视频学习记录总结而来

添加依赖jar:

<properties>    <spring.version>4.0.5.RELEASE</spring.version>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <java.version>1.7</java.version>    <jackson.version>2.3.1</jackson.version></properties><dependencies>    <dependency>        <groupId>org.springframework</groupId>        <artifactId>spring-webmvc</artifactId>        <version>${spring.version}</version>    </dependency>    <dependency>        <groupId>org.springframework</groupId>        <artifactId>spring-oxm</artifactId>        <version>${spring.version}</version>    </dependency>    <!-- jackson start -->    <dependency>        <groupId>org.codehaus.jackson</groupId>        <artifactId>jackson-core-asl</artifactId>        <version>1.9.12</version>    </dependency>    <dependency>        <groupId>org.codehaus.jackson</groupId>        <artifactId>jackson-mapper-lgpl</artifactId>        <version>1.9.12</version>    </dependency>    <!-- jackson end --></dependencies>

web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"    version="3.0">    <display-name></display-name>    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener>    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath*:applicationContext.xml</param-value>    </context-param>    <servlet>        <servlet-name>spring</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>/WEB-INF/spring-mvc.xml</param-value>        </init-param>    </servlet>    <servlet-mapping>        <servlet-name>spring</servlet-name>        <!-- 使用.html作为请求后缀 -->        <url-pattern>*.html</url-pattern>    </servlet-mapping>    <welcome-file-list>        <welcome-file>index.jsp</welcome-file>    </welcome-file-list></web-app>

springmvc.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util"    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">    <!-- 自动扫描 com.dragon 包下面的所有组件(使用了springmvc注解) -->    <context:component-scan base-package="com.dragon" /></beans>

index.jsp 登陆引导

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>首页</title></head><body>    <div style="margin:0 auto; padding-top: 100px; font-size: 18px;" align="center">        <p><a href="login.html"> 登录系统 </a></p>    </div></body></html>

login.jsp 登陆

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>请登录</title></head><body>    <div style="margin: 0 auto; padding-top: 100px;" align="center">        <form action="doLogin.html" method="post">            <p>                <span>用户名:</span><input type="text" name="username">            </p>            <p>                <span>密 码:</span><input type="password" name="password">            </p>            <p>                <input type="submit" value="登录">            </p>            <p style="color: red;">${error }</p>        </form>    </div></body></html>

loginsuccess.jsp 登陆成功

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>登录成功</title></head><body>    <div style="margin: 0 auto; padding-top: 100px;" align="center">        <h1>${user.username },恭喜您,登录成功!</h1>        <a href="doLogout.html">退出登录</a>    </div></body></html>

bean:

public class User {    private String username;    private String password;    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;    }}

dao:

import org.springframework.stereotype.Repository;import com.dragon.springmvc.bean.User;@Repositorypublic class UserDao {    public User selectByUsername(String username) {        // admin        if ("admin".equals(username)) {            User user = new User();            user.setPassword("123");            user.setUsername("admin");            return user;        }        return null;    }}

service:

import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.dragon.springmvc.bean.User;import com.dragon.springmvc.dao.UserDao;@Servicepublic class UserService {    @Resource    UserDao dao;    public User doLogin(String username, String passwrod) throws Exception {        if (username == null || "".equals(username)) {            throw new Exception("用户名不能为空");        }        if (passwrod == null || "".equals(passwrod)) {            throw new Exception("密码不能为空");        }        User user = dao.selectByUsername(username);        if (user == null) {            throw new Exception("用户名不存在");        }        if (!user.getPassword().equals(passwrod)) {            throw new Exception("密码错误");        }        return user;    }

controller:

import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.SessionAttributes;import org.springframework.web.bind.support.SessionStatus;import com.dragon.springmvc.bean.User;import com.dragon.springmvc.service.UserService;@Controller@SessionAttributes("user")public class UserController {    @Resource    UserService service;    @RequestMapping("login")    public String toLoginPage() {        return "/WEB-INF/jsp/login.jsp";    }    @RequestMapping(value = "doLogin", method = RequestMethod.POST)    public String doLogin(@RequestParam String username, @RequestParam String password, HttpServletRequest request,            ModelMap map) {        try {            User user = service.doLogin(username, password);            //将该user放入session中            map.put("user", user);        } catch (Exception e) {            request.setAttribute("error", e.getMessage());            return "/WEB-INF/jsp/login.jsp";        }        return "/WEB-INF/jsp/loginsuccess.jsp";    }    @RequestMapping("doLogout")    public String doLogout(SessionStatus status) {        //清楚session中该对象        status.setComplete();        return "/WEB-INF/jsp/login.jsp";    }}
0 0
原创粉丝点击