服務(wù)器端接收客戶端的請求的話,需要在服務(wù)器端的java文件實現(xiàn)HttpServlet這個接口,并且在web.xml里配置一個客戶端的請求攔截。
目前創(chuàng)新互聯(lián)公司已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、曾都網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
web.xml里的代碼里添加
servlet
servlet-nametestServlet/servlet-name!--這個名字可以自己定--
servlet-classcom.sun.testServlet/servlet-class!--這里是你需要接收客戶端請求的那個類以及包名,也就是下面攔截到的url會轉(zhuǎn)發(fā)到的那個類--
/servlet
servlet-mapping
servlet-nametestServlet/servlet-name!--和上面的name需要一樣--
url-pattern/*/url-pattern!--什么類型的客戶端請求會被攔截,/*?就是全攔截了--
/servlet-mapping
然后再服務(wù)器端的類文件,要實現(xiàn) HttpServlet這個接口。并把doGet()方法和doPost()方法重寫。
這兩種方法分別對應(yīng)的是客戶端的get請求和post請求的處理,你的是post請求的話,就在doPost()方法內(nèi),寫你的業(yè)務(wù)。
然后再用下面兩句話,設(shè)置你要返回客戶端的數(shù)據(jù)。
//這是設(shè)置你要返回去的數(shù)據(jù)。value才是你的數(shù)據(jù),key是標簽。
request.setAttribute("key", "value");
//這是設(shè)置你要返回去test.jsp這張頁面。
request.getRequestDispatcher("test.jsp").forward(request, response);
不知道你是不是這個意思,你可以再去看看相關(guān)servlet方面的知識,
關(guān)于客戶端和服務(wù)器端大概也就是有個servlet作為請求的攔截
然后經(jīng)過相關(guān)判斷后,選擇性的傳到服務(wù)器的相應(yīng)類里面。
再經(jīng)過類里面的業(yè)務(wù),把得到需要的數(shù)據(jù)回傳到指定的頁面上。
public boolean mainto()
{
boolean flag = true;
//建立郵件會話
Properties pro = new Properties();
pro.put("mail.smtp.host","smtp.qq.com");//存儲發(fā)送郵件的服務(wù)器
pro.put("mail.smtp.auth","true"); //通過服務(wù)器驗證
Session s =Session.getInstance(pro); //根據(jù)屬性新建一個郵件會話
//s.setDebug(true);
//由郵件會話新建一個消息對象
MimeMessage message = new MimeMessage(s);
//設(shè)置郵件
InternetAddress fromAddr = null;
InternetAddress toAddr = null;
try
{
fromAddr = new InternetAddress(451144426+"@qq.com"); //郵件發(fā)送地址
message.setFrom(fromAddr); //設(shè)置發(fā)送地址
toAddr = new InternetAddress("12345367@qq.com"); //郵件接收地址
message.setRecipient(Message.RecipientType.TO, toAddr); //設(shè)置接收地址
message.setSubject(title); //設(shè)置郵件標題
message.setText(content); //設(shè)置郵件正文
message.setSentDate(new Date()); //設(shè)置郵件日期
message.saveChanges(); //保存郵件更改信息
Transport transport = s.getTransport("smtp");
transport.connect("smtp.qq.com", "451144426", "密碼"); //服務(wù)器地址,郵箱賬號,郵箱密碼
transport.sendMessage(message, message.getAllRecipients()); //發(fā)送郵件
transport.close();//關(guān)閉
}
catch (Exception e)
{
e.printStackTrace();
flag = false;//發(fā)送失敗
}
return flag;
}
這是一個javaMail的郵件發(fā)送代碼,需要一個mail.jar
那你要做的就是向這個URL發(fā)送數(shù)據(jù)就好,給個例子:
public???class??Httptest1??{
8??
9???????public???static???void??main(String[]?args)??{
10??
11?????????URL?url??=???null?;
12?????????HttpURLConnection?conn??=???null?;
13?????????OutputStream?outStream??=???null?;
14?????????InputStream?inStream??=???null?;
15?????????
16???????????try???{
17?????????????url??=???new??URL(?"??"?);
18?????????????conn??=??(HttpURLConnection)?url.openConnection();
19?????????????conn.setDoOutput(?true?);
20?????????????conn.setDoInput(?true?);
21??
22?????????????String?sendXml??=???"??xml?version=\?"?1.0?\?"??encoding=\?"?UTF?-?16?\?"??!DOCTYPE?SigMailCommand?SYSTEM?\?"?SigMail.dtd\?"?"?;??//?XML數(shù)據(jù)?????
23??????????????sendXml??+=???"?SigMailCommand?Name=\?"?checkuser\?"?Param?Name=\?"?domainname\?"?test.com.cn/Param?"?;
24?????????????sendXml??+=???"?Param?Name=\?"?username\?"?admin/Param/SigMailCommand?"?;
25??
26?????????????outStream??=??conn.getOutputStream();
27??
28??????????????//?準備通過CONN對象寫入XML數(shù)據(jù)?
29??????????????BufferedWriter?bw??=???new??BufferedWriter(?new??java.io.OutputStreamWriter(outStream,
30??????????????"?UTF-16?"?));
31?????????????bw.write(sendXml);
32?????????????bw.flush();
33?????????????bw.close();
34?????????????
35??????????????//?DataOutputStream?dataOutStream?=?new?DataOutputStream(outStream);
36??????????????//?dataOutStream.writeChars(xml);
37??????????????//?dataOutStream.flush();
38??????????????//?dataOutStream.close();
39?????????????
40??
41??????????????//?準備通過CONN對象讀取返回的XML數(shù)據(jù)?
42??
43?????????????inStream??=??conn.getInputStream();
44?????????????StringBuffer?returnXml??=???new??StringBuffer(?""?);
45?????????????BufferedReader?rd??=???new??BufferedReader(?new??InputStreamReader(inStream,
46??????????????????????"?UTF-16?"?));
47???????????????for??(String?line??=???null?;?(line??=??rd.readLine())??!=???null?;)??{
48?????????????????returnXml.append(line);
49?????????????}?
50?????????????System.out.println(returnXml.toString());
51?????????????rd.close();
52??????????}???catch??(IOException?ex)??{
53?????????????ex.printStackTrace();
54??????????}?finally?{
55???????????????try???{
56??????????????????if??(outStream??!=???null?)
57?????????????????????outStream.close();
58??????????????????if??(inStream??!=???null?)
59?????????????????????inStream.close();
60??????????????????if??(conn??!=???null?)
61?????????????????????conn.disconnect();
62??????????????}???catch??(IOException?e)??{
63??????????????????//??TODO?自動生成?catch?塊?
64??????????????????e.printStackTrace();
65?????????????}?
66?????????}?
67??
68?????}?
69??
70?}