1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/javagaorui5944-AisMVC

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

AisMVC: лёгкий и быстрый Java MVC фреймворк, похожий на Spring MVC

Введение

  • Целью создания этого фреймворка было использование Spring MVC в качестве Controller слоя в проектах. Простота и удобство настройки Spring MVC сделали его нашим выбором. Однако, при использовании этого фреймворка мы обнаружили, что он имеет много избыточных функций. Наша команда обычно разрабатывает веб-проекты с разделением на фронтэнд и бэкэнд. Поэтому функции бэкэнда Controller слоя ограничиваются предоставлением AJAX интерфейсов, интеграцией страниц, перенаправлением, фильтрами и перехватчиками. В связи с этим я решил создать свой собственный MVC фреймворк, который будет лёгким и быстрым, и будет содержать только необходимые функции для небольших проектов.

Этот фреймворк пока не прошёл тщательное тестирование, поэтому я хотел бы предупредить потенциальных пользователей о возможных проблемах. Хотя я сам протестировал его с помощью Maven и создал jar пакет, в настоящее время у меня нет планов использовать его для реальной разработки. Это связано с тем, что мои собственные навыки ограничены, и я опасаюсь возникновения проблем, которые я не смогу решить самостоятельно. Моя настоящая цель — показать, как реализуется MVC фреймворк. Попытка полностью понять Spring MVC кажется нереалистичной. Если мой фреймворк вдохновит других разработчиков на создание своих собственных фреймворков, это будет именно то, чего я хочу достичь. Я также хочу подчеркнуть, что создание фреймворка — это задача, которую можно выполнить своими силами. Многие могут спросить, зачем создавать ещё один MVC фреймворк, когда их уже так много. Но я считаю, что важно оставить что-то после себя. Сейчас многие материалы по разработке, доступные через поисковые системы, были созданы несколько лет назад. Я не хочу, чтобы будущие поколения разработчиков использовали устаревшие знания. Я хочу внести свой вклад в развитие технологий.

Схема работы фреймворка

me

Демонстрация кода с использованием функций фреймворка

/**
 * Created by gaorui on 16/6/14.
 */
@Controller
public class test {

    /**
     * @author gaorui
     * @param s1
     * @param s2
     * @param request
     * @param response
     * @param session
     * 普通url处理
     */
    @MapURL(value = "get",RequestMethod = RequestMethod.GET)
    public void get(String s1,String s2,HttpServletRequest request, HttpServletResponse response, HttpSession session){
        return;
    }

    /**
     * @author gaorui
     * @return String
     * 服务端跳转页面处理,默认 web-inf下所有 .html文件
     */
    @MapURL(value="foward")
    public String foward(){
        return "page/succ";
    }

    /**
     * @author gaorui
     * @param userid
     * @return Object
     * 服务端处理前端ajax请求,返回json数据
     */
    @MapURL(value = "getUser", RequestMethod = RequestMethod.GET)
    @ResponseBody
    public JSONObject getUser(int userid){
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("userid",userid);
        return jsonObject;
    }}

Описание функций MVC фреймворка

  • Использование аннотаций для реализации функциональности
  • @MapURL аннотация для определения маршрутов HTTP запросов
  • Реализация метода внедрения параметров с использованием рефлексии
  • Методы, возвращающие строки, используются для пересылки запросов
  • @ResponseBody аннотация используется для обработки AJAX запросов и возврата данных в формате JSON
  • Добавление файла config.ini для динамического сканирования классов @Controller в проекте
  • Добавление параметра RequestMethod в аннотацию для указания типа HTTP запроса по умолчанию. Некорректный тип запроса приводит к возврату статуса 405

Журнал изменений

  • 1.0 — инициализация проекта
  • 1.1 — присоединение dhy
  • 1.2 — формирование структуры MVC фреймворка
  • 1.3 — добавление обработчика HandlerMapping для разделения контроллера
  • 1.4 — добавление файла config.ini для динамического сканирования классов @Controller в проекте
  • 1.5 — добавление параметра RequestMethod в аннотации для указания типа HTTP запроса по умолчанию
  • 1.6 — подготовка к обработке ошибок и фильтрации запросов, но без включения этих функций в фреймворк
  • 1.7 — изменение структуры каталогов, создание схемы работы фреймворка, продолжение работы над обработкой ошибок и оптимизацией производительности

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Это лёгкий MVC-фреймворк, похожий на SpringMVC. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/javagaorui5944-AisMVC.git
git@api.gitlife.ru:oschina-mirror/javagaorui5944-AisMVC.git
oschina-mirror
javagaorui5944-AisMVC
javagaorui5944-AisMVC
master