简单的搭建一个SSH项目

1.引入jar包

 1     <dependency>
 2         <groupId>org.springframework</groupId>
 3         <artifactId>spring-context</artifactId>
 4         <version>5.0.6.RELEASE</version>
 5     </dependency>
 6     
 7     <dependency>
 8         <groupId>org.springframework</groupId>
 9         <artifactId>spring-core</artifactId>
10         <version>5.0.6.RELEASE</version>
11     </dependency>
12     
13     <dependency>
14         <groupId>org.springframework</groupId>
15         <artifactId>spring-beans</artifactId>
16         <version>5.0.6.RELEASE</version>
17     </dependency>
18     
19     <dependency>
20         <groupId>org.springframework</groupId>
21         <artifactId>spring-web</artifactId>
22         <version>5.0.6.RELEASE</version>
23     </dependency>
24     
25     <dependency>
26         <groupId>org.springframework</groupId>
27         <artifactId>spring-webmvc</artifactId>
28         <version>5.0.6.RELEASE</version>
29     </dependency>
30     
31     <dependency>
32         <groupId>org.springframework</groupId>
33         <artifactId>spring-aop</artifactId>
34         <version>5.0.6.RELEASE</version>
35     </dependency>
36     
37     <dependency>
38         <groupId>org.springframework</groupId>
39         <artifactId>spring-orm</artifactId>
40         <version>5.0.6.RELEASE</version>
41     </dependency>
42     
43     <dependency>
44         <groupId>org.springframework</groupId>
45         <artifactId>spring-jdbc</artifactId>
46         <version>5.0.5.RELEASE</version>
47     </dependency>
48     
49     <dependency>
50         <groupId>org.springframework</groupId>
51         <artifactId>spring-tx</artifactId>
52         <version>5.0.5.RELEASE</version>
53     </dependency>
54     
55     <!-- Tomcat服务器 -->
56     <dependency>
57         <groupId>org.apache.tomcat</groupId>
58         <artifactId>tomcat-catalina</artifactId>
59         <version>8.5.2</version>
60     </dependency>
61 
62     <!-- hibernate -->
63     <dependency>
64         <groupId>org.hibernate</groupId>
65         <artifactId>hibernate-core</artifactId>
66         <version>5.2.16.Final</version>
67     </dependency>
68    
69     <!-- mysql -->
70     <dependency>
71         <groupId>mysql</groupId>
72         <artifactId>mysql-connector-java</artifactId>
73         <version>8.0.11</version>
74     </dependency>
75 
76     <!--dbcp  -->
77     <dependency>
78         <groupId>org.apache.commons</groupId>
79         <artifactId>commons-dbcp2</artifactId>
80         <version>2.1.1</version>
81     </dependency>
82     
83     <dependency>
84         <groupId>javax.servlet</groupId>
85         <artifactId>jstl</artifactId>
86         <version>1.2</version>
87     </dependency>
88     
89     <dependency>
90         <groupId>org.slf4j</groupId>
91         <artifactId>slf4j-api</artifactId>
92         <version>1.8.0-beta2</version>
93     </dependency>

2.项目包结构

3.代码

1.MyWebInitializer类

 1 package org.great.config;
 2 
 3 import javax.servlet.Filter;
 4 
 5 import org.springframework.web.filter.CharacterEncodingFilter;
 6 import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
 7 
 8 public class MyWebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
 9 
10     @Override
11     protected Class<?>[] getRootConfigClasses() {
12         return new Class<?>[] {RootConfig.class};
13     }
14 
15     @Override
16     protected Class<?>[] getServletConfigClasses() {
17         return new Class<?>[] {WebConfig.class};
18     }
19 
20     @Override
21     protected String[] getServletMappings() {
22         return new String[] {"*.do"};
23     }
24 
25     @Override
26     protected Filter[] getServletFilters() {
27         return new Filter[] {new CharacterEncodingFilter("utf-8")};
28     }
29 }

2.RootConfig类

 1 package org.great.config;
 2 
 3 import java.util.Properties;
 4 
 5 import javax.sql.DataSource;
 6 
 7 import org.apache.commons.dbcp2.BasicDataSource;
 8 import org.hibernate.Session;
 9 import org.springframework.context.annotation.Bean;
10 import org.springframework.context.annotation.ComponentScan;
11 import org.springframework.context.annotation.Configuration;
12 import org.springframework.context.annotation.Scope;
13 import org.springframework.context.annotation.ScopedProxyMode;
14 import org.springframework.orm.hibernate5.HibernateTransactionManager;
15 import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
16 import org.springframework.scheduling.annotation.EnableScheduling;
17 import org.springframework.transaction.annotation.EnableTransactionManagement;
18 import org.springframework.web.context.WebApplicationContext;
19 
20 @Configuration
21 @ComponentScan(basePackages= {"org.great.service"})
22 @EnableTransactionManagement
23 public class RootConfig {
24     
25     @Bean
26     public DataSource dataSource() {
27         BasicDataSource basicDataSource = new BasicDataSource();
28         basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
29         basicDataSource.setUrl("jdbc:mysql://localhost:3306/test607?useSSL=false&serverTimezone=GMT");
30         basicDataSource.setUsername("root");
31         basicDataSource.setPassword("");
32         return basicDataSource;
33     }
34     
35     @Bean
36     public LocalSessionFactoryBean sessionFactory() {
37         LocalSessionFactoryBean localSessionFactoryBean = new LocalSessionFactoryBean();
38         localSessionFactoryBean.setDataSource(this.dataSource());
39         
40         Properties properties = new Properties();
41         properties.setProperty("hibernate.show_sql", "true");
42         properties.setProperty("hibernate.format_sql", "true");
43         properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5InnoDBDialect");
44         //properties.setProperty("hibernate.current_session_context_class", "thread");
45         properties.setProperty("hibernate.current_session_context_class", "org.springframework.orm.hibernate5.SpringSessionContext");
46         localSessionFactoryBean.setHibernateProperties(properties);
47         
48         localSessionFactoryBean.setPackagesToScan("org.great.entity");
49         return localSessionFactoryBean;
50     }
51     
52     @Bean
53     public HibernateTransactionManager hManager() throws Exception {
54         HibernateTransactionManager hibernateTransactionManager = new HibernateTransactionManager();
55         hibernateTransactionManager.setSessionFactory(this.sessionFactory().getObject());
56         return hibernateTransactionManager;
57     }
58     
59     @Bean
60     @Scope(proxyMode=ScopedProxyMode.TARGET_CLASS,value=WebApplicationContext.SCOPE_REQUEST)
61     public Session session() {
62         return this.sessionFactory().getObject().getCurrentSession();
63     }
64 }

3.WebConfig类

 1 package org.great.config;
 2 
 3 import org.springframework.context.annotation.Bean;
 4 import org.springframework.context.annotation.ComponentScan;
 5 import org.springframework.context.annotation.Configuration;
 6 import org.springframework.web.servlet.ViewResolver;
 7 import org.springframework.web.servlet.config.annotation.EnableWebMvc;
 8 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 9 import org.springframework.web.servlet.view.InternalResourceViewResolver;
10 
11 @Configuration
12 @EnableWebMvc
13 @ComponentScan(basePackages= {"org.great.web"})
14 public class WebConfig implements WebMvcConfigurer{
15     
16     @Bean
17     public ViewResolver viewResolver() {
18         InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
19         internalResourceViewResolver.setPrefix("/WEB-INF/jsp/");
20         internalResourceViewResolver.setSuffix(".jsp");
21         return internalResourceViewResolver;
22     }
23 }

4.User实体类

 1 package org.great.entity;
 2 
 3 import javax.persistence.Entity;
 4 import javax.persistence.GeneratedValue;
 5 import javax.persistence.GenerationType;
 6 import javax.persistence.Id;
 7 import javax.persistence.Table;
 8 
 9 @Entity
10 @Table(name="user")
11 public class User {
12 
13     @Id
14     @GeneratedValue(strategy=GenerationType.IDENTITY)
15     private  int id;
16 
17     private String name;
18 
19     private String age;
20 
21     public int getId() {
22         return id;
23     }
24 
25     public void setId(int id) {
26         this.id = id;
27     }
28 
29     public String getName() {
30         return name;
31     }
32 
33     public void setName(String name) {
34         this.name = name;
35     }
36 
37     public String getAge() {
38         return age;
39     }
40 
41     public void setAge(String age) {
42         this.age = age;
43     }
44 
45     @Override
46     public String toString() {
47         return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
48     }
49 
50     public User() {
51         super();
52     }
53 }

5.UserService类

 1 package org.great.service;
 2 
 3 import java.util.List;
 4 
 5 import org.great.entity.User;
 6 import org.hibernate.Session;
 7 import org.springframework.beans.factory.annotation.Autowired;
 8 import org.springframework.scheduling.annotation.Scheduled;
 9 import org.springframework.stereotype.Service;
10 import org.springframework.transaction.annotation.Transactional;
11 
12 @Service
13 @Transactional
14 public class UserService {
15 
16     @Autowired
17     private Session session;
18     
19     public List<User> selectAllUsers(){
20         List<User> userList = session.createQuery("from org.great.entity.User").list();
21         return userList;
22     }
23     
24     public void saveUser(User user) {
25         session.save(user);
26     }
27 }

6.UserControll类

 1 package org.great.web;
 2 
 3 import java.util.List;
 4 
 5 import org.great.entity.User;
 6 import org.great.service.UserService;
 7 import org.springframework.beans.factory.annotation.Autowired;
 8 import org.springframework.stereotype.Controller;
 9 import org.springframework.ui.Model;
10 import org.springframework.web.bind.annotation.RequestMapping;
11 
12 @Controller
13 public class UserControll {
14     
15     @Autowired
16     private UserService userService;
17     
18     @RequestMapping("firstView")
19     public String firstView(Model model) {
20         List<User> selectAllUsers = userService.selectAllUsers();
21         model.addAttribute("userList",selectAllUsers);
22         return "home";
23     }
24     
25     @RequestMapping("/saveUser")
26     public String saveUser() {
27         User user = new User(2,"刘六","32");
28         userService.saveUser(user);
29         return "redirect:/firstView.do";
30     }
31 }

7.home.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page isELIgnored="false" %>
 4 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 6 <html>
 7 <head>
 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 9 <title>Insert title here</title>
10 </head>
11 <body>
12     <table>
13         <tr>
14             <td>序号</td>
15             <td>名字</td>
16             <td>年龄</td>
17         </tr>
18         <c:forEach items="${userList}" var="user" varStatus="ind">
19             <tr>
20                 <td>${ind.count}</td>
21                 <td>${user.name}</td>
22                 <td>${user.age}</td>
23             </tr>    
24         </c:forEach>
25     </table>
26 </body>
27 </html>

猜你喜欢

转载自www.cnblogs.com/ke609/p/9163321.html