servlet 消息转发

简介:           reportServlet servlet.ReportServlet reportServlet /report               import java.

 

 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
	xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">
	<display-name></display-name>
	 
	 
	<servlet>   
    <servlet-name>reportServlet</servlet-name>   
    <servlet-class>servlet.ReportServlet</servlet-class>   
</servlet>   
<servlet-mapping>   
    <servlet-name>reportServlet</servlet-name>    
    <url-pattern>/report</url-pattern>   
</servlet-mapping>

 
	 
</web-app>

 

 

 

 

 

 

 

import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

 
@SuppressWarnings("serial")
public class ReportServlet extends HttpServlet{

	static final String  DOMAINURL="http://localhost:80/xxx/xxx/xxx";
	
	@Override  
	 protected void doGet(HttpServletRequest req, HttpServletResponse resp)   
	            throws ServletException, IOException {  
    	super.doPost(req, resp);
	 }   
	    

	 @Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException { 
		 
		   InputStream is = null;
		   ByteArrayOutputStream baos =null;
			try
			{
				is = req.getInputStream();
				baos = new ByteArrayOutputStream();
				int readBytes = 0;
				byte[] bs = new byte[1024];
				while ((readBytes = is.read(bs)) > 0)
					baos.write(bs, 0, readBytes);
			}	catch (IOException e)
			{ 
				e.printStackTrace();
				resp.getWriter().write("{\"errorCode\":401}");
			}
			finally
			{
				if (is != null)
					try
					{
						is.close();
					}
					catch (IOException e)
					{
						e.printStackTrace();
						resp.getWriter().write("{\"errorCode\":401}");
					}
			}
		 
		  
			InputStream in = null;
			HttpURLConnection conn = null;
			String setCookie = null;
			try
			{
				System.out.println("SendTo: " + DOMAINURL);
				URL send_url = new URL(DOMAINURL);

				conn = (HttpURLConnection) send_url.openConnection();
				conn.setConnectTimeout(10000);
				conn.setDoOutput(true);
				conn.setUseCaches(false);
				conn.setRequestProperty("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
				conn.setRequestMethod("POST");
				conn.connect();

				OutputStream raw = conn.getOutputStream();
				OutputStream buf = new BufferedOutputStream(raw);
				OutputStreamWriter out = new OutputStreamWriter(buf, "UTF-8");
				
				out.write(baos.toString());
				out.flush();
				out.close();

				in = conn.getInputStream();
				setCookie = conn.getHeaderField("Set-Cookie");
				// 采用byte流读取

				ByteArrayOutputStream baos2 = new ByteArrayOutputStream();
				byte[] bytes = new byte[1];
				while (in.read(bytes) != -1)
				{
					baos2.write(bytes);
				}
				in.close();
				String ouputData = new String(baos2.toByteArray());
				System.out.println("ouputData = " + ouputData);

				resp.getWriter().write(ouputData); 
			}
			catch (Exception e)
			{ 
				e.printStackTrace();
				resp.getWriter().write("{\"errorCode\":401}");
			}
			finally
			{
				try
				{
					if (in != null)
						in.close();
					if (conn != null)
						conn.disconnect();
				}
				catch (IOException e)
				{
					e.printStackTrace();
					resp.getWriter().write("{\"errorCode\":401}");
				}
			}
		 
		 
		 
		 /*ServletContext application = getServletContext(); 
         RequestDispatcher dispatcher = application.getRequestDispatcher(DOMAINURL); 
         dispatcher.forward(req,resp);*/
	}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

目录
相关文章
|
7月前
|
消息中间件 存储 Java
后端开发Spring框架之消息介绍 同步异步 JMS AMQP MQTT Kafka介绍
后端开发Spring框架之消息介绍 同步异步 JMS AMQP MQTT Kafka介绍
48 0
|
8月前
|
Java API
Servlet 教程 之 Servlet 发送电子邮件 1
该教程介绍了如何使用Servlet发送电子邮件,需先安装JavaMail API和JAF。从Java官网或提供链接下载所需jar文件,将其加入CLASSPATH。示例代码展示了一个Servlet,通过MimeMessage设置发件人、收件人、主题和正文,然后使用Transport.send()发送邮件。要运行Servlet,需在web.xml配置并映射URL。访问特定URL即可触发邮件发送。
75 12
|
8月前
|
Java API
Servlet 教程 之 Servlet 发送电子邮件 2
使用Servlet发送HTML邮件需要JavaMail API和JAF。在示例中,Servlet创建MimeMessage对象,设置发件人、收件人、主题及HTML内容,然后通过Transport.send()发送。确保相关jar在CLASSPATH中。当Servlet被调用时,它会向指定邮箱发送带有HTML标题的邮件。
60 11
|
8月前
|
Java API 数据安全/隐私保护
Servlet 教程 之 Servlet 发送电子邮件 4
该教程展示了如何使用Servlet通过JavaMail API发送带附件的电子邮件。首先,确保安装了JavaMail API和JAF。在示例代码`SendEmail.java`中,创建MimeMessage对象,设置发件人、收件人、主题和正文。然后添加MimeBodyPart用于文本和附件,使用Multipart组合它们。最后,通过Transport.send()发送邮件。如果需要认证,可添加&quot;mail.user&quot;和&quot;mail.password&quot;属性。编译并运行Servlet即可发送邮件。
43 2
|
8月前
|
Java API
Servlet 教程 之 Servlet 发送电子邮件 3
Servlet教程展示了如何使用JavaMail API和JAF从Servlet发送带附件的电子邮件。首先确保安装了所需库并设置CLASSPATH。示例代码创建MimeMessage,设置收发件人、主题和正文,并添加Multipart附件。当Servlet被调用时,它会发送邮件并显示确认信息。
87 1
|
8月前
|
Java API 数据安全/隐私保护
Servlet 教程 之 Servlet 发送电子邮件 5
该教程介绍了如何使用Servlet发送带附件的电子邮件。首先,需要安装JavaMail API和JAF。在Servlet中,通过设置邮件服务器属性,创建MimeMessage对象,添加收件人、主题和正文。然后,利用Multipart添加附件,最后通过Transport.send()发送邮件。如果需要身份验证,可添加邮件用户名和密码属性。示例代码展示了完整的发送过程。此外,提到了Web应用的标准目录结构,其中WEB-INF包含classes和lib目录,用于存放类和库文件。
48 1
|
8月前
|
Java API
Servlet 教程 之 Servlet 发送电子邮件 6
Servlet教程展示了如何使用JavaMail API和JAF从Servlet发送邮件。Servlet类位于`com.myorg`包中,名为`MyServlet`,继承自`HttpServlet`。初始化时设置消息,`doGet`方法处理请求,返回HTML响应。要发送邮件,需确保Java库已安装。
38 0
|
8月前
|
Java 编译器 API
Servlet 教程 之 Servlet 发送电子邮件 7
在Servlet中发送邮件需要JavaMail API和JAF。将java文件放在类路径下,如`com.myorg`,然后在`&lt;Tomcat-installation-directory&gt;/webapps/ROOT/WEB-INF/classes`目录下,使用`javac`编译`MyServlet.java`。如果依赖其他库,如servlet-api.jar,需将其加入CLASSPATH。确保JDK在PATH环境变量中,以便使用`javac`。
40 0
|
存储 Java 数据安全/隐私保护
servlet过滤器与监听器
前言 Servlet 过滤器和监听器是 Java Web 应用程序中常见的两种组件,它们提供了各种扩展 Web 应用程序功能的方式。 总的来说,过滤器和监听器都可以通过 Java Web 应用程序的配置文件或注解进行使用,方便灵活,并可以很好地实现框架与业务逻辑的分离,提高代码可维护性和扩展性。 过滤器(Filter) 1. 参数验证和转换:可以拦截用户提交的数据,并对数据格式进行验证、修正或转换。 2. 访问控制和认证:可以拦截请求并检查用户是否有访问特定资源的权限。 3. 日志记录:可以拦截请求并输出相应的日志信息,用于系统运行时的监测与故障排除。 4. 资源压缩和解密: 可以拦截响应并对
96 0
|
存储 缓存 监控
servlet中的监听器接口
servlet中的监听器接口
114 0
servlet中的监听器接口

热门文章

最新文章