📜  kkih - Java (1)

📅  最后修改于: 2023-12-03 14:43:40.083000             🧑  作者: Mango

kkih - Java

简介

kkih 是一个基于 Java 的 Web 应用开发框架。它提供了一系列的工具和组件,帮助开发者快速的构建高性能、可扩展的 Web 应用。

特性
  • 基于 Servlet 和 JSP 的 Web 应用开发框架。
  • 采用 MVC 模式,提供了 Controller、View 和 Model 的抽象层。
  • 支持国际化和本地化,可以通过配置文件轻松实现多语言支持。
  • 内置数据访问层和模板引擎,支持多种数据库和模板语言。
  • 提供了针对性能和安全的优化和增强,如缓存、压缩、防 XSS 攻击等。
  • 可以轻松的与其他框架、库和工具集成,如 Spring、Hibernate、Log4j 等。
开始使用
安装和配置
  1. 下载并解压 kkih 框架包。

    wget https://github.com/kkih/kkih-java/releases/download/v1.0.0/kkih-java-1.0.0.zip
    unzip kkih-java-1.0.0.zip
    
  2. 配置 kkih 框架的基本属性。

    <kkih>
        <app>
            <context-path>/</context-path>
            <base-dir>webapp</base-dir>
            <default-encoding>utf-8</default-encoding>
            <error-pages>
                <error-page>
                    <status-code>404</status-code>
                    <location>/error/404.jsp</location>
                </error-page>
                <error-page>
                    <status-code>500</status-code>
                    <location>/error/500.jsp</location>
                </error-page>
            </error-pages>
            <servlets>
                <servlet>
                    <name>kkih</name>
                    <class>com.kkih.core.DispatcherServlet</class>
                    <init-params>
                        <init-param>
                            <name>configLocation</name>
                            <value>/WEB-INF/kkih.properties</value>
                        </init-param>
                    </init-params>
                    <load-on-startup>1</load-on-startup>
                </servlet>
            </servlets>
            <filters>
                <filter>
                    <name>encodingFilter</name>
                    <class>com.kkih.core.filter.EncodingFilter</class>
                    <init-params>
                        <init-param>
                            <name>encoding</name>
                            <value>utf-8</value>
                        </init-param>
                    </init-params>
                </filter>
            </filters>
            <listeners>
                <listener>
                    <class>com.kkih.core.listener.ContextLoaderListener</class>
                </listener>
            </listeners>
        </app>
    </kkih>
    
  3. 编写 Controller 和 View。

    public class HelloWorldController implements IController {
    
        public void handleRequest(IRequest request, IResponse response) throws Exception {
            String name = request.getParameter("name");
            Map<String, Object> model = new HashMap<>();
            model.put("message", "Hello, " + name);
            View view = new JspView("/WEB-INF/views/helloworld.jsp");
            view.render(model, request, response);
        }
    
    }
    
    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>Hello World</title>
    </head>
    <body>
        <h1>${message}</h1>
    </body>
    </html>
    
运行和验证
  1. 启动 Web 服务器,如 Tomcat 或 Jetty。

  2. 访问页面 http://localhost:8080/helloworld?name=Tom

    Hello, Tom
    
参考资料
作者信息
  • 作者:kkih
  • 所属组织:kkih 研发团队
  • 邮箱:support@kkih.com
  • 主页:https://www.kkih.com