티스토리 뷰

3. 글 내용 페이지 만들기

계속 설명해왔던 부분이므로 설명은 주석으로 대체하겠음.

1. controller.java


// 4. 이제 list 가 보여지는 화면으로 나왔으므로, 이제 그화면에서 글을 클릭하여 그해당데이터로 이동해야 하는

// 그경우를 만들어 준다.

@RequestMapping("/content_view")

public String content_view(HttpServletRequest request,Model model) {

System.out.println("content_view()");

model.addAttribute("request",request);

command = new BContentCommand();

command.execute(model);

return "content_view";

}


2. command.java

package com.javalec.spring_pjt_board_command;


import java.util.Map;


import javax.servlet.http.HttpServletRequest;


import org.springframework.ui.Model;


import com.javalec.spring_pjt_board_dao.BDao;

import com.javalec.spring_pjt_board_dto.BDto;



public class BContentCommand implements BCommand {


    @Override

public void execute(Model model) {

// TODO Auto-generated method stub

# 맵 자료형 선언후에 이 맵에다가 모델 객체를 담는다. (요청처리

Map<String,Object> map= model.asMap(); 

  HttpServletRequest request = (HttpServletRequest) map.get("request");

  String bId = request.getParameter("bId");

#Dao 호출 한다. 데이터처리

  BDao dao = new BDao();

#Dao에서 처리한 데이터를 객체화 시킨다 BDto

  BDto dto = dao.contentView(bId);

#모델에 dto객체를 담는다.

  model.addAttribute("content_view",dto);


 


}


}


3. DAO

//write 받아오는 부분 BWriteCommand에서 

public BDto contentView(String strId) {

//Content누를때마다 히트수 증가 시키는부분

upHit(strId);

BDto dto = null;

Connection connection = null;

PreparedStatement preparedStatement = null;

ResultSet resultSet = null;

try { 

connection = dataSource.getConnection();

String query = "select *from mvc_board where bId =?" ;

preparedStatement = connection.prepareStatement(query);

preparedStatement.setInt(1,Integer.parseInt(strId));

resultSet = preparedStatement.executeQuery();

if(resultSet.next()) {

int bId = resultSet.getInt("bId");

String bName = resultSet.getString("bName");

String bTitle = resultSet.getString("bTitle");

String bContent = resultSet.getString("bContent");

Timestamp bDate = resultSet.getTimestamp("bDate");

int bHit = resultSet.getInt("bHit");

int bGroup = resultSet.getInt("bGroup");

int bStep = resultSet.getInt("bStep");

int bIndent = resultSet.getInt("bIndent");

dto = new BDto(bId,bName,bTitle,bContent,bDate,bHit,bGroup,bStep,bIndent);

}

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}finally {

try {

if(resultSet != null) {

resultSet.close();

}

if(preparedStatement != null) {

preparedStatement.close();

}

if(connection != null) {

connection.close();

}

} catch (Exception e2) {

// TODO: handle exception

}

}

return dto;

}

4. DTO

package com.javalec.spring_pjt_board_dto;


import java.sql.Timestamp;


// Database의 데이터->객체로 바꿔주는 부분



public class BDto {

int bId;

String bName;

String bTitle;

String bContent;

Timestamp bDate;

int bHit;

int bGroup;

int bStep;

int bIndent;


// 파라미터 없는 Structure

public BDto() {

// TODO Auto-generated constructor stub

}

// 파라미터 있는 Structrue

public BDto(int bId,String bName,String bTitle,String bContent,Timestamp bDate,int bHit,int bGroup,

int bStep,int bIndent) {

// TODO Auto-generated constructor stub

this.bId = bId;

this.bName = bName;

this.bTitle = bTitle;

this.bDate = bDate;

this.bContent = bContent;

this.bHit = bHit;

this.bGroup = bGroup;

this.bStep = bStep;

this.bIndent = bIndent;

}


public int getbId() {

return bId;

}


public void setbId(int bId) {

this.bId = bId;

}


public String getbName() {

return bName;

}


public void setbName(String bName) {

this.bName = bName;

}


public String getbTitle() {

return bTitle;

}


public void setbTitle(String bTitle) {

this.bTitle = bTitle;

}


public String getbContent() {

return bContent;

}


public void setbContent(String bContent) {

this.bContent = bContent;

}


public Timestamp getbDate() {

return bDate;

}


public void setbDate(Timestamp bDate) {

this.bDate = bDate;

}


public int getbHit() {

return bHit;

}


public void setbHit(int bHit) {

this.bHit = bHit;

}


public int getbGroup() {

return bGroup;

}


public void setbGroup(int bGroup) {

this.bGroup = bGroup;

}


public int getbStep() {

return bStep;

}


public void setbStep(int bStep) {

this.bStep = bStep;

}


public int getbIndent() {

return bIndent;

}


public void setbIndent(int bIndent) {

this.bIndent = bIndent;

}



}






공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
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
글 보관함