BaseServlet的抽取

在开发中,对页面的请求要创建对个servlet来进行处理,一个servlet只能处理一个请求,这样要创建多个servlet,不利于开发和以后程序的维护,我们可以对同一个模块进行合并创建一个servlet即可,比如登录模块,商品模块,订单模块等等.只需要他们继承BaseServlet,并在前台页面传递所调用的方法名即可.

package cn.itcast.stroe.utils;

import java.io.IOException;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class BaseServlet extends HttpServlet{

@Override

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

request.setCharacterEncoding("utf-8");

//1、获取方法名

String methodName = request.getParameter("methodName");

//2、获取当前运行类的class对象

Class clazz = this.getClass();

//3、动态获取方法对象

if(methodName!=null&&!"".equals(methodName)){

try {

Method method = clazz.getMethod(methodName, HttpServletRequest.class,HttpServletResponse.class);

//执行

String path = (String) method.invoke(this, request,response);

//判断 是否需要请求转发

if(path!=null&&!"".equals(path)){

//请求转发

request.getRequestDispatcher(path).forward(request, response);

return;

}

} catch (NoSuchMethodException e) {

e.printStackTrace();

System.out.println("你需要的方法不存在");

} catch (SecurityException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (IllegalArgumentException e) {

e.printStackTrace();

} catch (InvocationTargetException e) {

e.printStackTrace();

}

}

}

}

时间: 2025-01-31 06:44:08

BaseServlet的抽取的相关文章

【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例

1.系统版本信息 System:Windows旗舰版 Service Pack1 Kettle版本:6.1.0.1-196 JDK版本:1.8.0_72 2.连接数据库 本次实例连接数据库时使用全局变量. 2.1 创建新转换:spoon启动后,点击Ctrl+N创建新转换 2.2 在新转换界面中,右键点击DB连接,系统会弹出[数据库连接]界面. windows系统环境下,可用${}获取变量的内容. 说明: 连接名称:配置数据源使用名称.(必填) 主机名称:数据库主机IP地址,此处演示使用本地IP(

Flink资料(4) -- 类型抽取和序列化

类型抽取和序列化 本文翻译自Type Extraction and Serialization Flink处理类型的方式比较特殊,包括它自己的类型描述,一般类型抽取和类型序列化框架.该文档描述这些概念并解释其机理. Java API和Scala API处理类型信息的方式有根本性的区别,所以本文描述的问题仅与其中一种API相关 一.Flink中对类型的处理 一般处理类型时,我们并不干涉,而是让编程语言和序列化框架来自动处理类型.与之相反的,Flink想要尽可能掌握进出用户函数的数据类型的信息. 1

BaseServlet

Java web----BaseServlet,web----baseservlet 1 BaseServlet的作用 在开始客户管理系统之前,我们先写一个工具类:BaseServlet. 我们知道,写一个项目可能会出现N多个Servlet,而且一般一个Servlet只有一个方法(doGet或doPost),如果项目大一些,那么Servlet的数量就会很惊人. 为了避免Servlet的“膨胀”,我们写一个BaseServlet.它的作用是让一个Servlet可以处理多种不同的请求.不同的请求调用

使用JRegex抽取网页信息

当网络爬虫将网页下载到磁盘上以后,需要对这些网页中的内容进行抽取,为索引做准备.一个网页中的数据大部分是HTML标签,索引肯定不会去索引这些标签.也就是说,这种信息是没有用处的信息,需要在抽取过程中过滤掉.另外,一个网页中一般会存在广告信息.锚文本信息,还有一些我们不感兴趣的信息,都被视为垃圾信息,如果不加考虑这些内容,抽取出来的信息不仅占用存储空间,而且在索引以后,为终端用户提供检索服务,用户检会索到很多无用的垃圾信息,势必影响用户的体验. 这里,针对论坛,采用配置模板的方式来实现信息的抽取.

FPGA的FIR抽取滤波器设计

摘 要:本文介绍了FIR抽取滤波器的工作原理,重点阐述了用XC2V1000实现FIR抽取滤波器的方法,并给出了仿真波形和设计特点. 关键词:FIR抽取滤波器:流水线操作:FPGA 用FPGA实现抽取滤波器比较复杂,主要是因为在FPGA中缺乏实现乘法运算的有效结构,现在,FPGA中集成了硬件乘法器,使FPGA在数字信号处理方面有了长足的进步.本文介绍了一种采用Xilinx公司的XC2V1000实现FIR抽取滤波器的设计方法. 具体实现 结构设计 基于抽取滤波器的工作原理,本文采用XC2V1000实

java 抽取 word,pdf 的四种武器

转自:https://www.ibm.com/developerworks/cn/java/l-java-tips/     感谢作者发布的文章 用 jacob 其实 jacob 是一个 bridage,连接 java 和 com 或者 win32 函数的一个中间件,jacob 并不能直接抽取 word,excel 等文件,需要自己写 dll 哦,不过已经有为你写好的了,就是 jacob 的作者一并提供了. jacob jar 与 dll 文件下载: http://www.matrix.org.

shell 脚本 抽取指定数量的随机学生

  #!/bin/bash # #!/bin/bash # read -p '输入数' c #指定抽取的学生人数 jw=('王浩' '谢云生' '黄科杨' '何星宇' '张宸兵' '邓培林' '刘桃' '杨沛东' '楚齐文' '咸鱼' '杨东' '>黄庭辉' '郑少文' '师靖' '肖洪森' ) #定义数组 i=0 #定义循环变量 while [ $i -lt $c ];do a=$(( $RANDOM % 15 )) #生成随机数 echo ${jw[$a]} #步长 i=$(( $i + 1

FAQ系列 | 从dump文件中抽取部分库表

其实很简单,就是利用正则表达式,从文件中抽取,可以用awk或sed,例如: 1. 抽取数据库 imysql_1 的全部SQL语句 #假设数据库 imysql_1 的下一个是 imysql_2 DBNAME1="imysql_1"DBNAME2="imysql_2"sed -n "/^-- Current Database: \`$DBNAME1\`/,/^-- Current Database: \`$DBNAME2\`/p"  imysql_2

网上图书商城项目学习笔记-037工具类之BaseServlet及统一中文编码

1.统一中文编码分析 tomcat默认esetISO-8859-1编码,在servlet中,可能通过request的setCharacterEncoding(charset)和response.setContentType("text/html;charset=UTF-8");处理post请求编码,但get请求的编码控制不了,所以,如果请求类型是get,则用装饰者模式把request整个调包 2.EncodingFilter.java 1 package cn.itcast.filte