๐Ÿ”ง API_

[CKEditor5] CKEditor 5 ์‚ฌ์šฉ๋ฒ•๊ณผ JSP ์ ์šฉ ๋ฐฉ๋ฒ• ์ •๋ฆฌ ๐Ÿงน

Joyfullyever 2025. 3. 25. 20:04

โœ… CKEditor5 ์ ์šฉ๋ฒ•

 

1๏ธโƒฃ ๊ธฐ๋ณธ ์„ค์ • (JSP File)

→ ์•„๋ž˜ ์ฝ”๋“œ(CDN)๋ฅผ JSP ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜์—ฌ CKEditor 5๋ฅผ ์ ์šฉ

โœ” ํ•ต์‹ฌ ์ฝ”๋“œ

→ <script src="https://cdn.ckeditor.com/ckeditor5/39.0.1/classic/ckeditor.js"></script>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>CKEditor 5 ์‚ฌ์šฉ</title>
    <script src="https://cdn.ckeditor.com/ckeditor5/39.0.1/classic/ckeditor.js"></script>
</head>
<body>
    <form action="SaveContentServlet" method="POST">
        <input type="text" name="title" placeholder="์ œ๋ชฉ์„ ์ž…๋ ฅํ•˜์„ธ์š”" required>
        <textarea id="editor" name="content"></textarea>
        <button type="submit">์ €์žฅ</button>
    </form>

    <script>
        ClassicEditor
            .create(document.querySelector('#editor'))
            .catch(error => console.error('Editor error:', error));
    </script>
</body>
</html>

 

2๏ธโƒฃ ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ Servlet (Java)

โœ” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋‚ด์šฉ์„ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๋Š” Servlet ์ฝ”๋“œ

@WebServlet("/SaveContentServlet")
public class SaveContentServlet extends HttpServlet {
    private static final String FILE_PATH = "/path/to/content.txt";

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String title = request.getParameter("title");
        String content = request.getParameter("content");

        try (FileWriter writer = new FileWriter(FILE_PATH)) {
            writer.write("์ œ๋ชฉ: " + title + "\n๋‚ด์šฉ:\n" + content);
        }

        response.sendRedirect("SaveContentServlet");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        File file = new File(FILE_PATH);
        StringBuilder content = new StringBuilder();

        if (file.exists()) {
            try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    content.append(line).append("\n");
                }
            }
        }

        response.setContentType("text/html; charset=UTF-8");
        response.getWriter().println("<h1>์ €์žฅ๋œ ๊ธ€</h1><pre>" + content.toString() + "</pre>");
    }
}

 

3๏ธโƒฃ CKEditor 5์—์„œ ๋‚ด์šฉ์„ ์ž…๋ ฅ๋ฐ›๊ธฐ

โœ” ์œ„ 1๏ธโƒฃ๋ฒˆ์˜ JSPํŒŒ์ผ์„ ์‹คํ–‰ํ•œ ํ›„, CKEditor5๋ฅผ ์ด์šฉํ•ด ๋‚ด์šฉ์„ ์ž…๋ ฅ๋ฐ›๊ธฐ

4๏ธโƒฃ CKEdtior 5์—์„œ ์ž…๋ ฅํ•œ ๋‚ด์šฉ์„ ๋ธŒ๋ผ์šฐ์ €์— ์ถœ๋ ฅ

โœ” 2๏ธโƒฃ๋ฒˆ์˜ Servlet ์ฝ”๋“œ๋ฅผ ํ†ตํ•˜์—ฌ, ์ž…๋ ฅ๋ฐ›์€ ๋‚ด์šฉ์„ ๋ธŒ๋ผ์šฐ์ €์— ์ถœ๋ ฅ