springmvc+spring框架

原文链接: http://www.cnblogs.com/friends-wf/p/3823902.html

jar包

 1 com.springsource.javax.validation-1.0.0.GA.jar
 2 com.springsource.org.aopalliance-1.0.0.jar
 3 com.springsource.org.apache.commons.logging-1.1.1.jar
 4 commons-fileupload-1.2.2.jar
 5 commons-io-2.0.1.jar
 6 hibernate-validator-4.1.0.Final.jar
 7 jstl.jar
 8 log4j.jar
 9 slf4j-api-1.5.8.jar
10 slf4j-log4j12.jar
11 spring-aop-3.2.2.jar
12 spring-aspects-3.2.2.jar
13 spring-beans-3.2.2.jar
14 spring-context-3.2.2.jar
15 spring-context-support-3.2.2.jar
16 spring-core-3.2.2.jar
17 spring-expression-3.2.2.jar
18 spring-tx-3.2.2.jar
19 spring-web-3.2.2.jar
20 spring-webmvc-3.2.2.jar
21 standard.jar
View Code

web.xml

 1 xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5" 
 3     xmlns="http://java.sun.com/xml/ns/javaee" 
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 7     
 8     <context-param>
 9         <param-name>contextConfigLocationparam-name>
10         <param-value>classpath:beans.xmlparam-value>
11     context-param>
12     <listener>
13         <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
14     listener>
15     
16     <servlet>
17         <servlet-name>actionservlet-name>
18         <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
19         <init-param>
20             <param-name>contextConfigLocationparam-name>
21             <param-value>classpath:spring-mvc.xmlparam-value>
22         init-param>
23         <load-on-startup>1load-on-startup>
24     servlet>
25     
26     <servlet-mapping>
27         <servlet-name>actionservlet-name>
28         <url-pattern>/url-pattern>
29     servlet-mapping>
30     
31   <welcome-file-list>
32     <welcome-file>index.jspwelcome-file>
33   welcome-file-list>
34 web-app>

beans.xml

 1 xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 4     xmlns:mvc="http://www.springframework.org/schema/mvc"
 5     xmlns:context="http://www.springframework.org/schema/context"
 6     xsi:schemaLocation="http://www.springframework.org/schema/beans 
 7             http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
 8             http://www.springframework.org/schema/mvc 
 9             http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
10             http://www.springframework.org/schema/context 
11             http://www.springframework.org/schema/context/spring-context-3.2.xsd ">
12 
13     
14     <context:component-scan base-package="cn.itcast.springmvc.service"/>
15     
16 beans>

spring-mvc.xml

 1 xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 4     xmlns:mvc="http://www.springframework.org/schema/mvc"
 5     xmlns:context="http://www.springframework.org/schema/context"
 6     xsi:schemaLocation="http://www.springframework.org/schema/beans 
 7             http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
 8             http://www.springframework.org/schema/mvc 
 9             http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
10             http://www.springframework.org/schema/context 
11             http://www.springframework.org/schema/context/spring-context-3.2.xsd ">
12 
13     
14     <context:component-scan base-package="cn.itcast.springmvc.web.controller"/>
15     
16     
17     <mvc:annotation-driven/>
18     
19     
20     <mvc:resources location="/resources/" mapping="/resources/**"/>
21     <mvc:resources location="/upload/" mapping="/upload/**"/>
22     
23     
24     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
25         <property name="maxUploadSize" value="10485670"/> 
26     bean>
27     
28     
29     <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
30         
31         <property name="prefix" value="/WEB-INF/jsps/"/>
32         
33         <property name="suffix" value=".jsp"/>
34     bean>
35     
36 beans>

HomeController.java

 1 package cn.itcast.springmvc.web.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 
 6 @Controller
 7 public class HomeController {
 8 
 9     @RequestMapping(value={"/","/home.action"})
10     public String goHome(){
11         System.out.println("Brave New World!");
12         
13         return "index";
14     }
15 }

PersonController.java

  1 package cn.itcast.springmvc.web.controller;
  2 
  3 import java.io.File;
  4 import java.io.IOException;
  5 import java.util.List;
  6 import java.util.Map;
  7 
  8 import javax.annotation.Resource;
  9 import javax.servlet.ServletContext;
 10 import javax.servlet.http.HttpServletRequest;
 11 import javax.validation.Valid;
 12 
 13 import org.apache.commons.io.FileUtils;
 14 import org.springframework.stereotype.Controller;
 15 import org.springframework.ui.Model;
 16 import org.springframework.validation.BindingResult;
 17 import org.springframework.web.bind.annotation.RequestMapping;
 18 import org.springframework.web.bind.annotation.RequestMethod;
 19 import org.springframework.web.bind.annotation.RequestParam;
 20 import org.springframework.web.multipart.MultipartFile;
 21 
 22 import cn.itcast.springmvc.domain.Person;
 23 import cn.itcast.springmvc.service.PersonService;
 24 
 25 @Controller
 26 @RequestMapping("/person")
 27 public class PersonController {
 28 
 29     @Resource
 30     private PersonService ps;
 31     
 32     
 33     //列表
 34     @RequestMapping("/listAll")
 35     public String listAll(Map model){
 36         List personList = ps.listAll();
 37         model.put("personList", personList);
 38         
 39         System.out.println(" listall hello");
 40         
 41         return "person/jPersonList";
 42     }
 43     
 44     //列表
 45     @RequestMapping("/listAllOther")
 46     public String listAllOther(Model model){
 47         List personList1 = ps.listAll();
 48         model.addAttribute(personList1);
 49         
 50         System.out.println(" listallother1 hello");
 51         
 52         return "person/jPersonList";
 53     }
 54     
 55     //转向新增页面
 56     @RequestMapping(value={"/tocreate"},method=RequestMethod.GET)
 57     public String tocreate(){
 58         
 59         return "person/jPersonCreate";
 60     }
 61     
 62     //转向修改页面
 63     @RequestMapping("/toupdate")
 64     public String toupdate(Integer id, Model model){
 65         Person p = ps.get(id);
 66         model.addAttribute(p);
 67         
 68         return "person/jPersonUpdate";
 69     }
 70     
 71     //保存
 72     @RequestMapping("/saveOrUpdate")
 73     public String saveOrUpdate(  HttpServletRequest request,@Valid Person p, BindingResult br, MultipartFile photo) throws IOException{
 74         //错误处理
 75         if(br.hasErrors()){
 76             return "/person/jPersonUpdate";
 77         }
 78         
 79         //上传图片
 80         ServletContext sc = request.getSession().getServletContext();
 81         String dir = sc.getRealPath("/upload/");
 82         String fileName = photo.getOriginalFilename();
 83         
 84         //防止图片覆盖
 85         Long _l = System.nanoTime();
 86         String _extName = fileName.substring(fileName.indexOf("."));
 87         fileName = _l + _extName;
 88         
 89         FileUtils.writeByteArrayToFile(new File(dir, fileName), photo.getBytes());
 90         
 91         p.setPhotoPath("/upload/"+fileName);        //指定图片保存路径
 92         
 93         ps.save(p);
 94         return "redirect:/person/listAll";
 95     }
 96     
 97     //删除
 98     @RequestMapping("/delete")
 99     public String delete(@RequestParam("delId")Integer id){
100         ps.deleteById(id);
101         return "redirect:/person/listAll";
102     }
103 }

PersonService.java

 1 package cn.itcast.springmvc.service;
 2 
 3 import java.util.ArrayList;
 4 import java.util.HashMap;
 5 import java.util.List;
 6 import java.util.Map;
 7 
 8 import org.springframework.stereotype.Service;
 9 
10 import cn.itcast.springmvc.domain.Person;
11 
12 @Service
13 public class PersonService {
14     //初始化信息
15     private static Integer id = 0;
16     private static Map map = new HashMap();
17     static{
18         Person p = null;
19         for(int i=0;i<10;i++){
20             p = new Person();
21             
22             p.setId(id);
23             p.setName("tony"+i);
24             p.setAge(20+i);
25             
26             map.put(p.getId(), p);
27             
28             id++;
29         }
30     }
31     
32     //列表
33     public List listAll(){
34         return new ArrayList(map.values());
35     }
36     
37     //获取对象
38     public Person get(Integer id){
39         return map.get(id);
40     }
41     
42     //保存
43     public void save(Person p){
44         if(p.getId()==null){
45             id++;
46             p.setId(id);
47         }
48         map.put(p.getId(), p);
49     }
50     
51     //删除
52     public void deleteById(Integer id){
53         map.remove(id);
54     }
55 
56     
57 }

Person.java

 1 package cn.itcast.springmvc.domain;
 2 
 3 import javax.validation.constraints.NotNull;
 4 import javax.validation.constraints.Size;
 5 
 6 public class Person {
 7     private Integer id;
 8     public Integer getId() {
 9         return id;
10     }
11     public void setId(Integer id) {
12         this.id = id;
13     }
14     public String getName() {
15         return name;
16     }
17     public void setName(String name) {
18         this.name = name;
19     }
20     public Integer getAge() {
21         return age;
22     }
23     public void setAge(Integer age) {
24         this.age = age;
25     }
26     @Size(min=3,max=10,message="用户名必须为3到10个字符!")
27     private String name;
28     @NotNull(message="年龄必须填写!")
29     private Integer age;
30     private String photoPath;
31     public String getPhotoPath() {
32         return photoPath;
33     }
34     public void setPhotoPath(String photoPath) {
35         this.photoPath = photoPath;
36     }
37 }

WEB-INF下的jsps文件夹下

jPersonList.jsp

 1 <%@ page language="java" pageEncoding="UTF-8"%>
 2 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 3 <html>
 4   <head>
 5     <title>My JSP 'index.jsp' starting pagetitle>
 6   head>
 7   
 8   <body>
 9 <h2>用户列表h2>
10     
11         <div style="padding:10px;"><a href="${pageContext.request.contextPath}/person/tocreate.action">新增a>div>
12     
13 <table border="1">
14 <tr>
15     <td>phototd>
16     <td>idtd>
17     <td>nametd>
18     <td>agetd>
19     <td>操作td>
20 tr>
21 
22 <c:forEach items="${personList}" var="p">
23 <tr>
24     <td><img src="${pageContext.request.contextPath}${p.photoPath}"/>td>
25     <td>${p.id}td>
26     <td>${p.name}td>
27     <td>${p.age}td>
28     <td>
29         <a href="${pageContext.request.contextPath}/person/toupdate.action?id=${p.id}">修改a>
30         <a href="${pageContext.request.contextPath}/person/delete.action?delId=${p.id}">删除a>
31     td>
32 tr>
33 c:forEach>
34 
35 table>
36   body>
37 html>

jPersonCreate.jsp

 1 <%@ page language="java" pageEncoding="UTF-8"%>
 2 <html>
 3   <head>
 4     <title>My JSP 'index.jsp' starting pagetitle>
 5   head>
 6   
 7   <body> 
 8 <form action="${pageContext.request.contextPath}/person/saveOrUpdate.action" method="post" enctype="multipart/form-data">
 9      <h2>新增用户h2>
10 <table>
11 <tr>
12     <td>id:td>
13     <td><input type="text" name="id"/>td>
14 tr>
15 <tr>
16     <td>name:td>
17     <td><input type="text" name="name"/>td>
18 tr>
19 <tr>
20     <td>age:td>
21     <td><input type="text" name="age"/>td>
22 tr>
23 <tr>
24     <td>photo:td>
25     <td><input type="file" name="photoPathxx"/>td>
26 tr>
27 <tr>
28     <td colspan="2">
29         <input type="submit"/>
30     td>
31 tr>
32 table>
33     
34 form>    
35   body>
36 html>

jPersonUpdate.jsp

 1 <%@ page language="java" pageEncoding="UTF-8"%>
 2 
 3 <%@ taglib uri="http://www.springframework.org/tags/form" prefix="sf"%>
 4 <html>
 5   <head>
 6     <title>My JSP 'index.jsp' starting pagetitle>
 7   head>
 8   
 9   <body>
10 <sf:form id="p" action="saveOrUpdate" 
11     method="post" 
12     enctype="multipart/form-data"
13     modelAttribute="person">
14 
15 
16 <h2>修改用户h2>
17     
18 <table border="1">
19 <tr>
20     <td>id:td>
21     <td><sf:input path="id"/>td>
22 tr>
23 <tr>
24     <td>name:td>
25     <td><sf:input path="name"/><sf:errors path="name"/>td>
26 tr>
27 <tr>
28     <td>age:td>
29     <td><sf:input path="age"/><sf:errors path="age"/>td>
30 tr>
31 <tr>
32     <td>photo:td>
33     <td><input type="file" name="photo"/>td>
34 tr>
35 <tr>
36     <td><input type="submit"/>td>
37 tr>
38 
39 table>
40 
41 sf:form>
42   body>
43 html>

index.jsp

 1 <%@ page language="java" pageEncoding="UTF-8"%>
 2 <html>
 3   <head>
 4     <title>My JSP 'index.jsp' starting pagetitle>
 5   head>
 6   
 7   <body>
 8    <img src="${pageContext.request.contextPath}/resources/girl.jpg"><br/>
 9     This is my JSP page. spring MVC Brave New World!<br/>
10   body>
11 html>

 

转载于:https://www.cnblogs.com/friends-wf/p/3823902.html

你可能感兴趣的:(springmvc+spring框架)