package com.sivalabs.controller;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.ModelAttribute;
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 org.springframework.web.servlet.ModelAndView;
import com.sivalabs.dao.ContactsDAO;
import com.sivalabs.entity.Contact;
import com.sivalabs.utils.ContactFormValidator;
@Controller
@SessionAttributes("login")
public class ContactsControllers
{
private Logger logger = LoggerFactory.getLogger(ContactsControllers.class);
@Autowired
private ContactsDAO contactsDAO;
@Autowired
private ContactFormValidator validator;
@InitBinder
public void initBinder(WebDataBinder binder)
{
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
// @ModelAttribute("logUser")
// public Contact getContact(){
// Contact logUser = new Contact();
// return logUser;
// }
@RequestMapping(value="/login",method=RequestMethod.GET)
public ModelAndView loginForm()
{
ModelAndView mav = new ModelAndView("login");
Contact contact = new Contact();
mav.addObject("login", contact);
return mav;
}
@RequestMapping(value="/login",method=RequestMethod.POST)
public String login(@RequestParam(required= true, defaultValue="") String name,@RequestParam(required= true, defaultValue="")String password,@ModelAttribute("login")Contact contact, BindingResult result, SessionStatus status){
validator.loginValidate(contact, result);
if(result.hasErrors()){
return "login";
}else{
if(contactsDAO.checkName(name)==0){
result.rejectValue("name", "filed.name", "Name Does not exist.");
return "login";
}else{
boolean flag = contactsDAO.loginContacts(name, password);
if(flag){
logger.info("login sucesss!");
return "redirect:viewAllContacts.do";
}else{
result.rejectValue("password", "filed.password","Password is Error!");
return "login";
}
}
}
}
@RequestMapping("/loginContacts")
public String loginContacts(@RequestParam(required= true, defaultValue="") String name,@RequestParam(required= true, defaultValue="")String password,@ModelAttribute("logUser")Contact logUser,BindingResult result){
boolean flag = contactsDAO.loginContacts(name, password);
//validator.loginValidate(logUser, result);
if(flag){
logUser.setName(name);
logger.info("login sucesss!");
return "redirect:viewAllContacts.do";
}else{
logUser.setName(null);
logger.info("login excess or exit");
return "loginContacts";
}
}
@RequestMapping("/searchContacts")
public ModelAndView searchContacts(@RequestParam(required= false, defaultValue="") String name)
{
ModelAndView mav = new ModelAndView("showContacts");
List<Contact> contacts = contactsDAO.searchContacts(name.trim());
mav.addObject("SEARCH_CONTACTS_RESULTS_KEY", contacts);
return mav;
}
@RequestMapping("/viewAllContacts")
public ModelAndView getAllContacts()
{
logger.info("excute search...");
ModelAndView mav = new ModelAndView("showContacts");
List<Contact> contacts = contactsDAO.getAllContacts();
mav.addObject("SEARCH_CONTACTS_RESULTS_KEY", contacts);
return mav;
}
@RequestMapping(value="/saveContact", method=RequestMethod.GET)
public ModelAndView newuserForm()
{
ModelAndView mav = new ModelAndView("newContact");
Contact contact = new Contact();
mav.getModelMap().put("newContact", contact);
return mav;
}
@RequestMapping(value="/saveContact", method=RequestMethod.POST)
public String create(@ModelAttribute("newContact")Contact contact, BindingResult result, SessionStatus status)
{
if(contactsDAO.checkName(contact.getName())>0){
result.rejectValue("name", "filed.name", "Name is exists.");
}
validator.validate(contact, result);
if (result.hasErrors())
{
return "newContact";
}
contactsDAO.save(contact);
status.setComplete();
return "login";
}
@RequestMapping(value="/saveContact2", method=RequestMethod.GET)
public ModelAndView newuserForm2()
{
ModelAndView mav = new ModelAndView("newContact2");
Contact contact = new Contact();
mav.getModelMap().put("newContact2", contact);
return mav;
}
@RequestMapping(value="/saveContact2", method=RequestMethod.POST)
public String create2(@ModelAttribute("newContact2")Contact contact, BindingResult result,SessionStatus status)
{
validator.validate(contact, result);
if (result.hasErrors())
{
return "newContact2";
}
contactsDAO.save(contact);
//status.setComplete();
return "redirect:viewAllContacts.do";
}
@RequestMapping(value="/updateContact", method=RequestMethod.GET)
public ModelAndView edit(@RequestParam("id")Integer id)
{
ModelAndView mav = new ModelAndView("editContact");
Contact contact = contactsDAO.getById(id);
mav.addObject("editContact", contact);
return mav;
}
@RequestMapping(value="/updateContact", method=RequestMethod.POST)
public String update(@ModelAttribute("editContact") Contact contact, BindingResult result, SessionStatus status)
{
validator.validate(contact, result);
if (result.hasErrors()) {
return "editContact";
}
contactsDAO.update(contact);
// status.setComplete();
return "redirect:viewAllContacts.do";
}
@RequestMapping("deleteContact")
public ModelAndView delete(@RequestParam("id")Integer id)
{
ModelAndView mav = new ModelAndView("redirect:viewAllContacts.do");
contactsDAO.delete(id);
return mav;
}
@RequestMapping("exit")
public ModelAndView exit(SessionStatus status){
ModelAndView mav = new ModelAndView("login");
// status.setComplete();
logger.info("exit success!");
return mav;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
spring_mvc+hibernate最好的入门demo
共76个文件
jar:36个
jsp:9个
properties:6个
5星 · 超过95%的资源 需积分: 9 9 下载量 57 浏览量
2014-01-26
10:13:13
上传
评论
收藏 10.13MB ZIP 举报
温馨提示
spring_mvc+hibernate 基本的增删改查 可以直接在这基础上做项目
资源推荐
资源详情
资源评论
收起资源包目录
sample_spring_mvc快速入门实战demo,王中王!!!.zip (76个子文件)
SampleSpringMVC
.project 2KB
.springBeans 415B
.mymetadata 318B
src
config.properties 453B
applicationContext.xml 3KB
Messages.properties 77B
com
sivalabs
utils
ContactFormValidator.java 3KB
controller
ContactsControllers.java 7KB
dao
ContactsDAO.java 3KB
entity
Contact.java 2KB
log4j.properties 544B
WebRoot
WEB-INF
classes
config.properties 453B
applicationContext.xml 3KB
Messages.properties 77B
com
sivalabs
utils
ContactFormValidator.class 3KB
controller
ContactsControllers.class 7KB
dao
ContactsDAO.class 4KB
entity
Contact.class 3KB
log4j.properties 544B
lib
spring-beans-3.0.5.RELEASE.jar 542KB
hibernate-commons-annotations-3.1.0.GA.jar 65KB
spring-tx-3.0.5.RELEASE.jar 226KB
junit-4.8.1.jar 231KB
javassist-3.7.ga.jar 531KB
dom4j-1.6.1.jar 307KB
hibernate-core-3.3.2.GA.jar 2.2MB
commons-digester-2.1.jar 192KB
mysql-connector-java-5.1.14.jar 758KB
spring-core-3.0.5.RELEASE.jar 373KB
commons-pool.jar 61KB
persistence-api-1.0.jar 51KB
spring-asm-3.0.5.RELEASE.jar 52KB
spring-web-3.0.5.RELEASE.jar 386KB
log4j-1.2.14.jar 359KB
slf4j-log4j12-1.6.1.jar 10KB
standard-1.1.2.jar 384KB
commons-logging-1.1.1.jar 59KB
spring-context-support-3.0.5.RELEASE.jar 99KB
spring-aop-3.0.5.RELEASE.jar 314KB
commons-dbcp.jar 119KB
commons-lang.jar 203KB
spring-jdbc-3.0.5.RELEASE.jar 377KB
c3p0-0.9.1.2.jar 596KB
slf4j-api-1.6.1.jar 25KB
spring-context-3.0.5.RELEASE.jar 653KB
spring-expression-3.0.5.RELEASE.jar 166KB
aopalliance-1.0.jar 4KB
spring-webmvc-3.0.5.RELEASE.jar 409KB
spring-orm-3.0.5.RELEASE.jar 326KB
commons-dbcp-1.2.1.jar 105KB
cglib-nodep-2.2.jar 315KB
jta-1.1.jar 15KB
commons-collections-3.2.1.jar 562KB
hibernate-annotations-3.4.0.GA.jar 273KB
jstl-1.1.2.jar 20KB
web.xml 2KB
dispatcher-servlet.xml 628B
register.jsp 3KB
taglib_includes.jsp 274B
newContact.jsp 5KB
index.jsp 720B
loginContacts.jsp 2KB
js
contacts.js 284B
register.js 4KB
jquery.min.js 54KB
META-INF
MANIFEST.MF 36B
editContact.jsp 5KB
showContacts.jsp 2KB
login.jsp 2KB
newContact2.jsp 5KB
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.jdt.core.prefs 2KB
org.eclipse.wst.jsdt.ui.superType.name 6B
.jsdtscope 500B
contacts.sql 2KB
.classpath 4KB
共 76 条
- 1
资源评论
- shawnzhang1632015-03-12可以编译运行,可惜没有说明文档。
koproblem
- 粉丝: 30
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功