您的位置:首页 > 编程语言 > Java开发

5. SpringMVC注解类实践例子1

2016-03-07 23:12 597 查看
本系列入门学习参考极客学院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;

@Repository
public 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;

@Service
public 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";
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc