实现简单配置免重启的servlet单入口

用servlet做一些游戏的后台挺不错,不过每个servlet都要在web.xml中配置路径映射也很麻烦,而且每次修改都得重启服务器。其实如果我们实现servlet单入口,即只定义一个Servlet,然后在这个Servlet中处理转发,就可以免去这些麻烦了。下面是一些步骤。

1、定义处理器接口IAction。真正的处理器都继承自这个接口,接口很简单,只有一个方法,

import javax.servlet.http.HttpServletRequest;

/**
 * Action接口,用于执行真正的处理操作
 */
public interface IAction {
    public String execute(HttpServletRequest request);
}

2、编写调度的Servlet,主要代码:

// Action后缀,如/First对应FirstAction类
private static final String ACTION_EXT="Action";
// 自定义Action处理器所在的包名
private static final String PACKAGE_NAME="com.xxx.";

-----------------

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    // 根据url找到对应的action
    String uri=request.getRequestURI();
    String path=request.getContextPath();
    String actionName=uri.substring(path.length()+1)+ACTION_EXT;
    String fullActionName=PACKAGE_NAME+actionName;
    IAction action=null;
    try {
        Class<?> ref=Class.forName(fullActionName);
        action=(IAction)ref.newInstance();
    }
    catch (Exception e)
    {
    }
    if (action!=null)
    {
        out.println(action.execute(request));
    }
    else
    {
        out.println("Error: "+actionName+" not found.");
    }
}

3、配置,

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>lib.DispatcherServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

让DispatcherServlet接管所有的url。

之后编写的Action就可以不用在XML中配置了,也不用重启服务器,
很灵活。

时间: 2024-10-08 04:27:11

实现简单配置免重启的servlet单入口的相关文章

&lt;转载&gt; FreeNAS的安装和简单配置 http://freenas.cn/?p=342

前些日子在公司搭了一个模拟生产环境的平台.由于是测试环境,资源有限只能使用虚拟机实现,所以存储这块就想到了使用FreeNAS.很早以前玩儿过几次,当时是生产环境需要上存储设备,经过对比还是选择的更可靠的NetApp的存储设备.目前FreeNAS最新版本到了0.7.3514,下载地址是 http://www.freenas.cn/?page_id=9 .借用FreeNAS官方网站对它的描述:FreeNAS是一套免费的NAS服务器,它能将一部普通PC变成网络存储服务器.该软件基于FreeBSD,Sa

Vim(Linux编辑器)简单配置和常用命令

一  简单配置 1 增加配置文件.vimrc 在目录/etc/下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效.而在每个用户 的主目录下,都可以建立私有的配置文件,命名为:".vimrc". 下面以普通用户为例: 在用户主目录下建立 .vimrc 文件 或直接下载高手写好的 移动到自己主目录下即可 下载vimrc.zip,解压后的文件为.vimrc,将其放到当前用户的目录下. 链接: http://files.cnblogs.com/ma6174/vim

Linux安装MariaDB和简单配置

1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start mariadb 设置开机启动 systemctl enable mariadb 接下来进行MariaDB的相关简单配置 mysql_secure_installation 首先是设置密码,会提示先输入密码 Enter current password for root (enter for none):<–初

CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置

闲置已久的空间环境配置忘得差不多了,今天得空整理,重置了磁盘重新搭建环境,首先安装MariaDB的数据库,在这里记录下安装过程,以便以后查看. 1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start mariadb 设置开机启动 systemctl enable mariadb 接下来进行MariaDB的相关简单配置 mysql_secure_installati

bind的简单配置

bind的简单配置 摘要:DNS  bind简单配置        FQDN        http://www.178linux.com.  WWW是主机名  .178linux.COM.是私有域名  .com.是DNS一级域名 .是根域 DNS解析顺序 /etc/hosts→DNS缓存→DNS域服务器 主机优先查找本地的hosts(/etc/hosts)文件,没有想对应的记录则去查找本地DNS客户端的解析缓存库,缓存库没有想对应的记录则询问本地配置的DNS服务器(DNS服务器配饰文件 /et

Struts 2简单配置分析

要配置Struts 2,首先先要有Struts 2的Jar包,可以去Struts的官网下载(http://struts.apache.org/),这里有3个GA版本可以选择下载,我选择的是最新的2.2.3.1版本. 若你的硬盘空间比较大,建议下载struts-2.2.3.1-all.zip版本的,因为里面包含了Struts 2给我们的示例(非常有用)和许多文档.下载struts-2.2.3.1-all.zip完毕后,将其解压到一个文件夹下,解压后的样子: apps文件夹下,有struts 2提供

不同vlan间的通信简单配置(三种方式)

不同vlan间的通信简单配置 1.单臂路由(图) 环境:一台路由器,一台二层交换机,两台pc机 二层交换机的配置一般模式:Switch>输入enable进入特权模式:Switch>enable输入configure terminal进入全局配置模式:Switch#configure terminal Enter configuration commands, one per line.  End with CNTL/Z.创建vlan 10 和 vlan 20:Switch(config)#vl

nginx的安装与简单配置

安装环境:ubuntu 14.04 安装方式:源码安装 1.去官方网站https://nginx.org/en/download.html,下载一个稳定的版本.并解压. 2, 安装nginx的依赖包,一共有三个(资料来源与网络): 安装 prce: sudo apt-get update sudo apt-get install libpcre3 libpcre3-dev 安装 zlib: sudo apt-get install zlib1g-dev 安装openssl: sudo apt-g

在Ubuntu下配置运行Hadoop2.4.0单节点配置

还没有修改hosts,请先按前文修改. 还没安装java的,请按照前文配置. (1)增加用户并设立公钥: sudo addgroup hadoop sudo adduser --ingroup hadoop hduser su - hduser cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys ssh localhost exit   (2)把编译完的hadoop复制到/usr/local目录,并修改目录权限 cp –r /root