작성자 : 동이

작성자 : 동이

' IOT 기반 응용 SW과정 > Group Studying' 카테고리의 다른 글

2-3. 정렬  (0) 2016.06.17
2-1. JSP 내장객체  (0) 2016.06.17
7. 입출력 및 네트워크  (0) 2016.06.17
6. 컬렉션 프레임워크  (0) 2016.06.17
5. 쓰레드  (0) 2016.06.17

작성자 : 코로세

작성자 : 코로세

' IOT 기반 응용 SW과정 > Group Studying' 카테고리의 다른 글

2-3. 정렬  (0) 2016.06.17
2-2. 쿠키와 세션  (0) 2016.06.17
7. 입출력 및 네트워크  (0) 2016.06.17
6. 컬렉션 프레임워크  (0) 2016.06.17
5. 쓰레드  (0) 2016.06.17

 


   디펜던시 설정        
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.8</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
    </dependencies>
</project>
cs


◎ web.xml에 dispatchServlet을 서블릿으로 등록 *.do에 대해서 처리하도록 서블릿매핑 설정

◎ dispatcherServlet이 사용할 스프링 설정하일 생성

◎ controller패키지에 대해서 컴포넌트 스캔

◎ internalResouceViewResolver등록(prefix는 jsp파을들을 모아놓을 폴더경로, suffix는 jsp파일들의 확장자로)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version="1.0" encoding="UTF-8"?>

 
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
        </init-param>

        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
 
</web-app>
cs


1
2
3
4
5
6
7
8
9
10
11
12
13


    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="jsp/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
</beans>
 
cs


- 루트컨테이너 등록하고 사용하기

1. web.xml에 컨텍스트 로더 리스너를 등록

1
2
3
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListner</listener-class>
    </listener>
cs


2. /WEB-INF/applicationContext.xml이름으로 스프링 설정 파일 작성

1
2
3
4
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
cs


dataSource, sqlSessionFactory, mapperFactoryBean(Dao), service클래스들(컴포넌트스캔), 트랜잭션매니저

dispatcher-servlet.xml 서블릿 컨테이너 <- mvc구성요소들, 컨트롤러(컴포넌트스캔), 뷰리졸버,,,,


((((((( 리스너, 필터 참고 // http://wiki.gurubee.net/pages/viewpage.action?pageId=26740229  )))))

 web.xml에 ContextLoaderListener클래스를 리스너로 등록하면, 

/WEB-INF/applicationContext.xml을 설정파일로해서 스프링 컨테이너를 하나 빌드하고, 

1
    <context:component-scan base-package="service"></context:component-scan>
cs

해당컨테이너를 모든 서블릿 컨테이너가 공유할 수 있도록 세팅함 

- 컨트롤러에서 파라미터 받기

- 컨트롤러에서 request, session, response등 기본객체 사용하기

- 컨트롤러에서 ModelAndView외에 다양한 반환유형


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package controller;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
 
import service.MemberService;
 
//서비스 주입받아서
//받은 리퀘스트를 처리하기에 필요한 서비스의 메소드를 호출해서 결과 획득
//결과 데이터랑 적절한 페이지 세팅해서 모덴앤뷰 리턴
 
@Controller
public class MemberController {
    @Autowired
    private MemberService service;
    
    @RequestMapping("test.do")
    public ModelAndView dummy(){
        ModelAndView mav = new ModelAndView();
        mav.addObject("msg",service.getData());
        mav.setViewName("test");
        return mav;
    }
    
}
//작성 후, service참조변수에 루트컨테이너에 등록되있는 MemberSerivce빈 객체를 주입
//test.do에서 서비스 객체의 getData함수호출의 결과를 싣고 test.jsp를 뷰 페이지로 지정
 
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package service;
 
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
 
@Service
public class MemberService {
    public String getData(){
        return "What the Hell!";
        
        //작성후 루트컨테이너에 빈으로 등록
    }
}
//@Component : 이 에노테이션이 달려있는 클래스는 컴포턴트 스캔에 의해서 빈으로 등록이 됨
// 그때의 빈의 아이디는 클래스 첫글자 소문자
 
//@Controller, @Service, @Repository
//->모두 @Component의 아들들, 그러므로 얘네들도 컴포넌트스캔에 의해 빈 등록 됨
cs





' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day65 Spring-student  (0) 2016.06.21
Day64  (0) 2016.06.20
Day62 Spring MVC  (0) 2016.06.16
Day61  (0) 2016.06.15
Day60 Spring-AOP  (0) 2016.06.14

내장 객체의 영역

 영역

설명 

page 

 하나의 JSP 페이지를 처리할 때 사용되는 영역 

request

 하나의 요청을 처리할 때 사용되는 영역

session

 하나의 브라우저와 관련된 영역 

application 

 하나의 웹 애플리케이션과 관련된 영역 



액션태그

 태그의 종류

설명 

 <jsp : forward>

 다른 사이트로 이동할 때 사용, 페이지의 흐름을 제어할 때 사용 

 <jsp : include>

 정적 혹은 동적인 자원을 현재 페이지의 내용에 포함시킨다. 페이지를 모듈화할 때 사용 

 <jsp : param>

 <jsp : forward>, <jsp : include>, <jsp : plugin>과 같이 사용되어 파라  미터를 추가할 때 사용

 <jsp : usebean>

 빈(bean)을 생성하고 사용하기 위한 환경을 정의하는 액션 태그 

 <jsp : setProperty>

 액션은 빈에서 속성 값을 할당 

 <jsp : getProperty>

 액션은 빈에서 속성 값을 얻어올 때 사용 


' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day38 쿠키 & 세션  (0) 2016.05.11
Day37 액션태그  (0) 2016.05.10
Day35 JSP  (0) 2016.05.04
Day34 JSP 내장 객체  (0) 2016.05.03
Day33 Jsp  (0) 2016.05.02




내장 객체의 분류 

내장 객체  

hello_jsp.java 파일 

   입출력 관련 객체 

 1. request

 2. response

 7. out 

 38:줄에서 HttpServletRequest로 선언됨

 39:줄에서 HttpServletResponse로 선언됨

 46:줄에서 JSPWriter로 선언됨

   서블릿 관련 객체

 8. page

 6. config

 47:줄에서 Object로 선언됨

 45:줄에서 ServletConfig로 선언됨

   외부 환경 정보를 제공하는 객체

 4. session

 5. application

 6. pageContext

 43:줄에서 HttpSession으로 선언됨

 44:줄에서 ServletContext로 선언됨

 55:줄에서 PageClntext로 선언됨

   예외 관련 객체

 9. exception

 JSP 페이지가 에러 페이지로 지정되면 만들어짐

 hello_jsp.java 파일에서는 발견되지 않음


  브라우저와 웹 서버의 정보를 알아내는 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>JSP</title>

</head>

<body>

컨텍스트 패스 : <%= request.getContextPath() %> <br>

요청방식 : <%= request.getMethod() %> <br>

요청한 URL : <%= request.getRequestURL() %>    <br>

요청한 URI : <%= request.getRequestURI() %>    <br>

서버의 이름 : <%= request.getServerName() %>    <br>

프로토콜 : <%= request.getProtocol() %>    <br>

</body>

</html> 

컨텍스트 패스 : /Day34_0503
요청방식 : GET
요청한 URL : http://localhost:8080/Day34_0503/01_requestInfo.jsp
요청한 URI : /Day34_0503/01_requestInfo.jsp
서버의 이름 : localhost
프로토콜 : HTTP/1.1    







' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day37 액션태그  (0) 2016.05.10
Day36 내장 객체의 영역, 액션태그  (0) 2016.05.09
Day35 JSP  (0) 2016.05.04
Day33 Jsp  (0) 2016.05.02
Day32 Web Programming // JSP  (0) 2016.04.29

+ Recent posts