/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/**
*
* @author pcw
*/
public class CodeFilter implements Filter {
private static final boolean debug = true;
// The filter configuration object we are associated with. If
// this value is null, this filter instance is not currently
// configured.
private FilterConfig filterConfig = null;
public CodeFilter() {
}
private void doBeforeProcessing(ServletRequest request, ServletResponse response)
throws IOException, ServletException {
if (debug) {
log("ServletFilter:DoBeforeProcessing");
}
}
private void doAfterProcessing(ServletRequest request, ServletResponse response)
throws IOException, ServletException {
if (debug) {
log("ServletFilter:DoAfterProcessing");
}
}
/**
*
* @param request The servlet request we are processing
* @param response The servlet response we are creating
* @param chain The filter chain we are processing
*
* @exception IOException if an input/output error occurs
* @exception ServletException if a servlet error occurs
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
System.out.println("start-doFilter");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//设置过滤页数据的面显示数据的编码
if (debug) {
log("ServletFilter:doFilter()");
}
doBeforeProcessing(request, response);
Throwable problem = null;
try {
chain.doFilter(request, response);
} catch (Throwable t) {
// If an exception is thrown somewhere down the filter chain,
// we still want to execute our after processing, and then
// rethrow the problem after that.
problem = t;
t.printStackTrace();
}
doAfterProcessing(request, response);
// If there was a problem, we want to rethrow it if it is
// a known type, otherwise log it.
if (problem != null) {
if (problem instanceof ServletException) {
throw (ServletException) problem;
}
if (problem instanceof IOException) {
throw (IOException) problem;
}
sendProcessingError(problem, response);
}
}
/**
* Return the filter configuration object for this filter.
*/
public FilterConfig getFilterConfig() {
return (this.filterConfig);
}
/**
* Set the filter configuration object for this filter.
*
* @param filterConfig The filter configuration object
*/
public void setFilterConfig(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}
/**
* Destroy method for this filter
*/
public void destroy() {
}
/**
* Init method for this filter
*/
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
if (filterConfig != null) {
if (debug) {
log("ServletFilter:Initializing filter");
}
}
}
/**
* Return a String representation of this object.
*/
@Override
public String toString() {
if (filterConfig == null) {
return ("ServletFilter()");
}
StringBuffer sb = new StringBuffer("ServletFilter(");
sb.append(filterConfig);
sb.append(")");
return (sb.toString());
}
private void sendProcessingError(Throwable t, ServletResponse response) {
String stackTrace = getStackTrace(t);
if (stackTrace != null && !stackTrace.equals("")) {
try {
response.setContentType("text/html");
PrintStream ps = new PrintStream(response.getOutputStream());
PrintWriter pw = new PrintWriter(ps);
pw.print("<html>\n<head>\n<title>Error</title>\n</head>\n<body>\n"); //NOI18N
// PENDING! Localize this for next official release
pw.print("<h1>The resource did not process correctly</h1>\n<pre>\n");
pw.print(stackTrace);
pw.print("</pre></body>\n</html>"); //NOI18N
pw.close();
ps.close();
response.getOutputStream().close();
} catch (Exception ex) {
}
} else {
try {
PrintStream ps = new PrintStream(response.getOutputStream());
t.printStackTrace(ps);
ps.close();
response.getOutputStream().close();
} catch (Exception ex) {
}
}
}
public static String getStackTrace(Throwable t) {
String stackTrace = null;
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
t.printStackTrace(pw);
pw.close();
sw.close();
stackTrace = sw.getBuffer().toString();
} catch (Exception ex) {
}
return stackTrace;
}
public void log(String msg) {
filterConfig.getServletContext().log(msg);
}
}
JAVAEE-商城管理系统
5星 · 超过95%的资源 需积分: 0 175 浏览量
更新于2023-09-28
6
收藏 8.7MB ZIP 举报
基于javaEE网上商城管理系统采用了Java语言,基于B/S结构,idea作为本系统的开发工具,数据库采用的是开源MySQL来设计。前台包括登录注册、首页、我的订单、等功能模块。可以方便管理以及进行更加方便快捷的管理,可以提高基于javaEE网上商城管理系统信息管理效率。
本网站游泳到MySQL为数据库开发平台,采用Java开发技术实现前台用户页面和后台管理员管理页面。此系统的开发改善了一些技术和增加创新,使之代替了传统的销售方式,解决了管理困难、销售成本高等问题。同时此系统具有使用简单,用户界面友好,便于操作等特点。
内含项目完整代码,数据库及配套报告。
edgarrrr
- 粉丝: 1347
- 资源: 5
最新资源
- 核密度估计及ks检验确定最优核密度估计 使用Normal、box、triangle、Epanechnikov四种方法,默认是Normal 矩形框颜色可以自定义设置 可以对实际数据进行更精确的概率分布拟
- foc风机方案 高压 支持顺风启动 使用弦波 svpwm驱动方式 使用龙贝格观测器 无感FOC方案 包括原理图,源代码
- PSO优化极限学习机ELM matlab代码,备注详细,易于使用
- 细说数据分析模型之RFM模型以及代码实现
- 汽车EPB仿真模型,Carsim和Simulink联合仿真 1.其中包括 制动钳系统 的动力学建模 2.电机的转角三环pid控制,可以在模型中通过与制动钳模型的结合,实现电机的堵转效果,真实还
- COMSOL 激光烧蚀3D体热源引力场温度场仿真
- COMSOL 3D脉冲激光刻槽
- Simulink仿真:级联光伏发电MPPT追踪并网 关键词: 参考文献:具备同步电机特性的级联型光伏发电系统+视频讲解 仿真平台:MATLAB Simulink 主要内容:3个单独光伏发电MPPT级联
- FOC电流环模块进行,包含Park,Clark变,id、iq PI控制,限幅输出,角度查表,斜率步长,配合SVPWM模块可以实现电流模式的运行,包含说明书,物有所值,非普通代码,注释超级详细
- critic法计算指标权重 根据指标数据(每行是一个样本,每列是不同变量)计算各个指标的权重值并画图展示 MATLAB代码,备注清晰,易于使用
- 高斯回归拟合x与y,带置信区间 置信区间可自定义 根据案例数据准备自己的自变量x与因变量y数据 按照相应格式替为自己数据即可 MATLAB代码,备注清晰,易于使用
- 加权拟合2个正态分布参数与比例 一组数据可能由2个正态组合形成,可以进行拟合计算得到每组正态分布的参数与比例 matlab代码,根据自己需要修改案例数据即可
- LLC,变频与移相混合控制,有参考文献 变频控制与移相控制组成的混合式控制全桥LLC谐振变器仿真(PFM+PSM混合控制) 输出电压闭环控制,软开关,宽范围,可实现调频和移相的自动切,调频和移相控制
- matlab交通标志识别系统(含gui可视化界面,完整源码,代码配详细注释,程序实现识别交通标志图片并以文字形式输出结果) 附赠报告,代码结构清晰,有注释
- IMU与GPS融合定位,扩展卡尔曼滤波,cpp实现,机器人状态估计,有注释和运行说明
- 双峰高斯分布蒙特卡洛模并画pdf和cdf图 可设置双峰组合分布中不同正态参数的分布比例,也可以对多个组合进行计算 matlab代码,备注清楚,更改为自己需要的分布比例与参数即可