@author DeanKano
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
</dependency>
DkDispatcherServlet extends HttpServlet {...}
在web.xml配置核心控制器
<!-- 核心控制器 -->
<servlet>
<servlet-name>dkDispatcher</servlet-name>
<servlet-class>com.dean.framework.DkDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dkDispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
@DkController
@DkService
@DkAutowired
@DkRequestMapping
@DkRequestParam
1 加载配置文件 doLoadConfig(..)
2 扫描配置包路径 doScanner(..)
3 反射实例化加载到IOC容器中 doInstance();
4 DI依赖注入,针对IOC容器中加载到的类,自动对需要赋值的属性进行初始化操作 doAutowired();
5 初始化HandlerMapping initHandlerMapping();
doDispatcher(req, resp);
一 直接运行maven 插件 jetty:run
二 命令行启动,在cmd窗口执行:
`$mvn jetty:run`
启动日志:
...
[INFO] Starting jetty 6.1.7 ...
[INFO] jetty-6.1.7
[INFO] No Transaction manager found - if your webapp requires one, please configure one.
Mapping: [/sample/query.do] ==>public void com.dean.framework.sample.UserAction.query(java.lang.String,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
Mapping: [/sample/add.do] ==>public void com.dean.framework.sample.UserAction.addUser(java.lang.String,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
Mapping: [/sample/remove.do] ==>public void com.dean.framework.sample.UserAction.removeUser(java.lang.String,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
[INFO] Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
请求示例:
http://localhost:8080/sample/query.do?name=Tom