思想:
写一个抽象类继承HttpServlet,在这个类中加入通用功能。
以后所有的servlet类都继承自这个 类。
以达到扩展Servlet的功能.
package com.yc.web.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.google.gson.Gson;
import com.yc.bean.JsonModel;
import com.yc.utils.CommonData;
/**
* 这个类是一个抽象类,主要用于增强Servlet的功能,在这个类中 所有的servlet都有的功能
* @author Administrator
* 1.输出json数据的功能
* 设计模式 :适配器模式
*
*/
public abstract class CommonServlet extends HttpServlet {
protected int rows=10;
protected int page=1;
protected String sort;
protected String order="asc";
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {
if(arg0.getParameter("rows")!=null){
rows=Integer.parseInt(arg0.getParameter("rows"));
}
if(arg0.getParameter("page")!=null){
page=Integer.parseInt(arg0.getParameter("page"));
}
if(arg0.getParameter("sort")!=null){
sort=arg0.getParameter("sort");
}
if(arg0.getParameter("order")!=null){
order=arg0.getParameter("order");
}
super.service(arg0, arg1);
}
public void outData(HttpServletResponse response ,JsonModel jm) {
//通过 response对象获取输出流,将数据returnvalue输出到客户端
response.setContentType("text/plain;charset=utf-8");//plain 表示普通文本
PrintWriter out=null;
try {
out=response.getWriter();
Gson gson=new Gson();
String returnvalue=gson.toJson(jm);
out.println(returnvalue);
System.out.println(returnvalue);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
out.close();
}
}
public void outData(HttpServletResponse response ,Object jm) {
//通过 response对象获取输出流,将数据returnvalue输出到客户端
response.setContentType("text/plain;charset=utf-8");//plain 表示普通文本
PrintWriter out=null;
try {
out=response.getWriter();
Gson gson=new Gson();
String returnvalue=gson.toJson(jm);
out.println(returnvalue);
System.out.println(returnvalue);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
out.close();
}
}
}