ssm 개발 환경 구축 절차

35336 단어 웹 프레임 워 크
as usual , this is also on my personal website , http://www.wenjingyi.top
세 개의 프레임 워 크 를 조금 만 익히 면 이 몇 개의 프레임 워 크 를 어떻게 통합 시 켜 작은 시스템 을 만들어 야 할 지 를 고려 할 것 이다.
순서
1. Maven 웹 프로젝트 를 만 들 고 Maven 에 익숙해 지면 eclipse 기 존 프로젝트 도 구 를 사용 하지 않 습 니 다.eclipse ee 4.3 이후 Maven 프로젝트 를 만 드 는 플러그 인 을 지원 합 니 다.
2. jar 패키지 maven 의 장점 을 추가 하려 면 pom. xml 설정 파일 에 dependency 를 추가 하면 됩 니 다.
pom. xml 설정 파일 에서 dependencies 노드 를 찾 아 다음 과 같은 의존 도 를 추가 합 니 다.

<dependency>
  <groupId>javaxgroupId>
  <artifactId>javaee-web-apiartifactId>
  <version>7.0version>
dependency>


<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-txartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-webartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-oxmartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-webmvcartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-expressionartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-testartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-context-supportartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-contextartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-ormartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-messagingartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-aopartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-instrument-tomcatartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-coreartifactId>
  <version>4.2.7.RELEASEversion>
  dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-jmsartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-websocketartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-aspectsartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-jdbcartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-beansartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-instrumentartifactId>
  <version>4.2.7.RELEASEversion>
dependency>
<dependency>
  <groupId>org.springframeworkgroupId>
  <artifactId>spring-webmvc-portletartifactId>
  <version>4.2.7.RELEASEversion>
dependency>


<dependency>
  <groupId>org.mybatisgroupId>
  <artifactId>mybatisartifactId>
  <version>3.4.1version>
dependency>

<dependency>
  <groupId>mysqlgroupId>
  <artifactId>mysql-connector-javaartifactId>
  <version>5.1.12version>
dependency>


<dependency>
  <groupId>org.mybatisgroupId>
  <artifactId>mybatis-springartifactId>
  <version>1.3.0version>
dependency>


<dependency>
  <groupId>c3p0groupId>
  <artifactId>c3p0artifactId>
  <version>0.9.1version>
dependency>


<dependency>
  <groupId>jstlgroupId>
  <artifactId>jstlartifactId>
  <version>1.2version>
dependency>


<dependency>
  <groupId>commons-fileuploadgroupId>
  <artifactId>commons-fileuploadartifactId>
  <version>1.2.2version>
dependency>
<dependency>
  <groupId>commons-iogroupId>
  <artifactId>commons-ioartifactId>
  <version>2.0.1version>
dependency>

 
3. 웹. xml 설정


	
  selling system
  
  
  
    selling
    org.springframework.web.servlet.DispatcherServlet
    1
  
  
    selling
    /
  
  
  
  
    characterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
    
      forceEncoding
      true
    
  
  
    characterEncodingFilter
    /*
    


springmvc 에서 배포 요청 을 하 는 ServletDispatcher 와 중국어 난 장 판 을 처리 하 는 characterEncoding Filter 를 설정 하 였 습 니 다.
4. jdbc 프로필 을 설정 하 는 것 은 작은 시스템 이 므 로 데이터베이스, CRUD 에 연결 해 야 합 니 다.
클래스 경로 에서.maven 은 resources 폴 더 의 루트 디 렉 터 리 에 추가 해 야 클래스 경로 로 복 사 됩 니 다.
이름: jdbc. properties.습관 적 인 생명 명 은 반드시 이렇게 해 야 하 는 것 이 아니다.
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/zx
username=yourName
password=yourPassword
maxPoolSize=20
maxIdleTime=1800

이 속성 들 은 spring 프로필 에서 사 용 됩 니 다.
my batis 설정 파일 my batis 는 이 설정 파일 에 따라 mapper 의 위치, 클래스 의 별명 등 을 얻 을 수 있 습 니 다.
이름: mybatisConfig. xml



<configuration>
  
  <typeAliases>
    
    <package name="com.zhklong.selling.entity"/>
  typeAliases>
  
  
  <mappers>
    <package name="com.zhklong.selling.mapper"/>
  mappers>
configuration>

 
5. spring 프로필 spring 을 설정 합 니 다. springmv 는 모두 이 프로필 설정 입 니 다. 부족 한 경우 spring (mvc) 프로필 은 프로젝트 의 / WEB - INF / 디 렉 터 리 에 있 습 니 다. 이름 규칙 은 위 에 설 치 된 ServletDispatcher 의 이름 - servlet. xml 입 니 다. 예 를 들 어:  selling-servlet.xml
이 파일 에 이 내용 이 존재 해 야 합 니 다.

<beans xmlns="http://www.springframework.org/schema/beans"
	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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
 http://www.springframework.org/schema/mvc
 http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
 http://www.springframework.org/schema/context
 http://www.springframework.org/schema/context/spring-context-3.0.xsd">

	
	<context:component-scan base-package="com.zhklong.selling.controller" />
	
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	bean>
	
	<mvc:resources location="/WEB-INF/static/" mapping="/**" />
	
	<mvc:annotation-driven />
	
	<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath:jdbc.propertiesvalue>
				<value>classpath:sms.propertiesvalue>
			list>
		property>
	bean>
	
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="${driverClass}" />
		<property name="jdbcUrl" value="${url}" />
		<property name="user" value="${username}" />
		<property name="password" value="${password}" />
		<property name="maxPoolSize" value="${maxPoolSize}" />
		<property name="maxIdleTime" value="${maxIdleTime}" />
	bean>
	
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="configLocation" value="classpath:mybatisConfig.xml" />
	bean>
	
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.zhklong.selling.mapper" />
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
	bean>
<beans>

somethings to notice
  • 페이지 경로 설정: springmvc 의 controller 에서 처리 방법 에 대해 결 과 를 되 돌려 줍 니 다. springmvc 는 이 설정 에 따라 접두사 와 접 두 사 를 붙 여 경 로 를 구성 하여 접근 합 니 다
  • 정적 자원 경 로 를 설정 합 니 다. springmvc 는 Servlet 을 통 해 배 포 를 요청 하고 웹. xml 에 url - pattern 을 / 로 설정 하기 때문에 springmvc 가 모든 요청 을 차단 할 것 이 라 고 생각 합 니 다. 방문. html 등 정적 자원 을 포함 합 니 다.이 경 로 를 설정 하면 정적 자원 에 접근 할 때 순조롭게 접근 할 수 있 습 니 다.
  • 프로필 가 져 오기: 데이터베이스 수정 이 필요 할 때 jdbc. properties 만 바 꿀 수 있 습 니 다. 이 xxx - servlet. xml
  • 이 필요 하지 않 습 니 다.
  • 데이터베이스 연결 풀 설정: 여기 서 예 는 c3p 0 연결 풀 입 니 다. 여기 서 ${속성 명} 을 사용 하여 설정 파일 의 대응 치 를 가 져 옵 니 다.
  • sqlSession Factory 의 설정: 이것 은 spring 과 my batis 통합 의 관건 입 니 다. 이 설정 을 할 때 이전 데이터 소스 데이터베이스 연결 풀 과 my batis 의 설정 파일 경 로 를 이 인 스 턴 스 에 설정 합 니 다.

  • 6. 데이터베이스 에서 페이지 까지 의 예 를 들 어 위의 설정 을 마치 면 실제 개발 이 가능 합 니 다 (mapper, 실체 류, contrller, 페이지 등 을 작성 합 니 다)
    (1). mapper 내 가 설정 한 경 로 는 com. zhklong. selling. mapper 이기 때문에 자 연 스 럽 게 이 경로 에 있어 야 합 니 다.
    package com.zhklong.selling.mapper;
    
    import com.zhklong.selling.entity.Employee;
    
    public interface EmployeeMapper {
    	
    	Employee getByCell(String cellphone);
    
    }

    이것 은 하나의 인터페이스 일 뿐 데이터 베 이 스 를 방문 하려 면 sql 문 구 를 설정 해 야 합 니 다. hibenate 는 sql 문 구 를 설정 하지 않 아 도 됩 니 다.
    sql 문 구 를 설정 하려 면 mapper 류 와 같은 경로 에서 mapper 와 같은 이름 의 xml 파일 을 만들어 야 합 니 다. 예 를 들 어 com / zhklong / selling / mapper / EmployeeMapper. xml, 같은 maven 은 resources /.. 디 렉 터 리 에 넣 어야 합 니 다.
    내용 은 아래 와 같다
    
    
    
    
    
      
      
      
    
    

    그리고 selling - servlet. xml 프로필 에 이 내용 을 탭 앞 에 추가 해 야 합 니 다.
    
    
      
      
    

    (2). Controller 는 com. zhklong. celling. contrller 패키지 에 contrller 를 만 듭 니 다.
     
    package com.zhklong.selling.controller;
    
    /**
     * @author paul
     * @since 2016-11-16      
     * 
     * */
    @Controller
    @RequestMapping(path = "/employee")
    public class EmployeeController {
    
      private EmployeeMapper employeeMapper;
    
      public void setEmployeeMapper(EmployeeMapper employeeMapper) {
        this.employeeMapper = employeeMapper;
      }
    
      @RequestMapping(path = "/getByCell", method = RequestMethod.GET)
      public String login(@RequestParam("cellphone")String cellphone,Model model) {
        model.addAttribute("employee", employeeMapper.getByCell(cellphone));
        return "page";
      }
    
    }
    

    selling - servlet. xml 에 추가 해 야 합 니 다.
    
    
      
    

    employee Mapper 이후 beans 노드 전에
    (3). page. jsp 를 추가 합 니 다. 설정 때문에 / WEB - INF / jsp / 경로 에서 설정 해 야 합 니 다.page. jsp 에서 request 도 메 인 을 통 해 employee 대상 을 얻 을 수 있 습 니 다.
    (4). 방문 통과http://localhost:8080/selling/employee/getByCell?cellphone=111111111방문
    Action speak louder than words.

    좋은 웹페이지 즐겨찾기