📄 svgservlet.java
字号:
package com.mc.svg.servlet;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
import javax.servlet.ServletConfig;
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.mc.svg.SVGCanvas;
import com.mc.svg.servlet.action.SVGAction;
@SuppressWarnings("serial")
public class SvgServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String sUrl = request.getRequestURL().toString();
String rootPath = request.getContextPath() + "/";
int iFrom = sUrl.indexOf(rootPath);
iFrom += rootPath.length();
int iEnd = sUrl.lastIndexOf(".svg");
String commandID = sUrl.substring(iFrom, iEnd);
HttpSession ss = request.getSession();
SVGCanvas canvas = (SVGCanvas) ss.getAttribute(commandID);
if (canvas == null) {
canvas = new SVGCanvas(600, 400);
}
try {
Class a = Class.forName(commandID);
Object obj = a.newInstance();
SVGAction action = (SVGAction) obj;
canvas = action.execute(canvas, request.getParameterMap());
ss.setAttribute(commandID, canvas);
} catch (Exception e) {
e.printStackTrace();
}
response.setCharacterEncoding("UTF-8");
response.setContentType("image/svg+xml");
//response.se
PrintWriter out = response.getWriter();
Writer out2 = new OutputStreamWriter(System.out, "UTF-8");
canvas.setOutPut(out2);
canvas.exportSVG();
canvas.setOutPut(out);
canvas.exportSVG();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
public void destroy() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -