package filters;import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper; public class TomcatFormFilter implements Filter {
class Request extends HttpServletRequestWrapper
{
public Request(HttpServletRequest request) {
super(request);}
public String toChi(String input) {
try{
byte[] bytes=input.getBytes("ISO8859-1");
return new String(bytes,"GBK");
}
catch (Exception ex) {
}
return null;
}
private HttpServletRequest getHttpServletRequest()
{
return (HttpServletRequest)super.getRequest();
}
public String getParameter(String name)
{
return toChi(getHttpServletRequest().getParameter(null));
}
public String[] getParanameterValues(String name)
{
String values[] = getHttpServletRequest().getParameterValues(name);
if (values !=null) {
for (int i = 0; i < values .length; i++){
values[i] = toChi(values[i]);
}
}
return values;
}
}
public void destroy(){
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpreq = (HttpServletRequest)request;
if(httpreq.getMethod().equals("POST")){
request.setCharacterEncoding("GBK");
}else {
request= new Request(httpreq);
}
System.out.println();
chain.doFilter(request, response);
} public void init(FilterConfig config) throws ServletException {
}
}
怎么测试,在线等,谢谢,我是初学。
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper; public class TomcatFormFilter implements Filter {
class Request extends HttpServletRequestWrapper
{
public Request(HttpServletRequest request) {
super(request);}
public String toChi(String input) {
try{
byte[] bytes=input.getBytes("ISO8859-1");
return new String(bytes,"GBK");
}
catch (Exception ex) {
}
return null;
}
private HttpServletRequest getHttpServletRequest()
{
return (HttpServletRequest)super.getRequest();
}
public String getParameter(String name)
{
return toChi(getHttpServletRequest().getParameter(null));
}
public String[] getParanameterValues(String name)
{
String values[] = getHttpServletRequest().getParameterValues(name);
if (values !=null) {
for (int i = 0; i < values .length; i++){
values[i] = toChi(values[i]);
}
}
return values;
}
}
public void destroy(){
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpreq = (HttpServletRequest)request;
if(httpreq.getMethod().equals("POST")){
request.setCharacterEncoding("GBK");
}else {
request= new Request(httpreq);
}
System.out.println();
chain.doFilter(request, response);
} public void init(FilterConfig config) throws ServletException {
}
}
怎么测试,在线等,谢谢,我是初学。
解决方案 »
- jsp页面查询实现问题
- weblogic 9.2 重启问题
- 解析代码 javaweb web。xml中配置文件
- hibernate.properties not found
- 请教一个很奇怪的问题
- 求一个在SUNappserver下可运行的JMS代码实例?
- jsp里面怎么调用以html形式输出的jasperreports生成的报表
- 急!!我在tomcat下面可以,但是weblogic下面就不行,怎么回事?
- eclipse有没有好用的weblogic7插件,推荐一下!
- poi的word转html,怎么显示修订内容的最终状态?
- 我要用<C:IF>判断 ${XX} 和 '留言' 是不是相等 应该怎么做?在线等,急啊
- 转帐失败的原因
楼主大概是问怎么用JUNIT测试吧。
我知道一种方法,可以测试servlet,顺便把listener也测试了。
不过需要jetty 和 maven 支持。package eg;import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.bio.SocketConnector;
import org.mortbay.jetty.servlet.ServletHandler;
import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebResponse;
import junit.framework.Assert;
import junit.framework.TestCase;
public class JettySampleTest extends TestCase {
Server server;
protected void setUp() throws Exception {
//通过代码设置并启动一个服务器,该服务器是servlet的测试容器
super.setUp();
server = new Server();
Connector connector=new SocketConnector();
connector.setPort(80);
server.setConnectors(new Connector[]{connector});
ServletHandler handler=new ServletHandler();
server.setHandler(handler);
handler.addServletWithMapping("Cactus.HelloWorld", "/");
server.start();
}
protected void tearDown() throws Exception {
super.tearDown();
server.stop();
}
public void testHellWorld() {
try {
WebConversation wc = new WebConversation();
WebResponse web = wc.getResponse("http://127.0.0.1/HelloWorld");
String result=web.getText();
Assert.assertEquals(result,"null:Hello World!");
} catch (Exception e) {
e.printStackTrace();
}
}
}