锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 2銆佹垜浠渶瑕佸璇ユ帴鍙h繘琛屽疄鐜扮殑鏂規硶:OrderManagerImpl.java 3銆乻pring閰嶇疆鍙戦乪mail鐨刟pplicationContext-email.xml 4銆佹渶鍚庨厤緗嚜宸辯殑jsp欏甸潰浠ュ強action 鍒版鎵鏈夌殑寮鍙戜互緇撴潫銆?br /> Sring閭歡鎶借薄灞傜殑涓昏鍖呮槸錛歰rg.springframework.mail 鍖呫傚畠鍖呭惈鍙玀ailSender涓哄彂閫侀偖浠剁殑鏍稿績鎺ュ彛鍜屽寘鍚畝鍗曢偖浠跺睘鎬т緥濡俧rom,to,cc,subject,text鍙玈impleMailMessage鐨勫煎璞? 榪欎釜鍖呬篃鍖呭惈涓涓鏌ュ紓甯哥殑灞傛錛屽畠鏀寔涓涓洿楂樼駭鍒殑鎶借薄瓚呰繃浣庣駭鍒殑閭歡緋葷粺寮傚父浼撮殢鏍瑰紓甯稿瓨鍦∕ailException. 璇峰弬鑰僇avaDocs涓烘洿澶氱殑淇℃伅鏉傞偖浠跺紓甯稿眰嬈°?/p> spring in action in action also provides a sub-interface of MailSender for specialized JavaMail features such as MIME messages, namely org.springframework.mail.javamail.JavaMailSender It also provides a callback interface for preparation of JavaMail MIME messages, namely org.springframework.mail.javamail.MimeMessagePreparator Spring涔熸敮鎸佷竴涓狹ailSender鐨勪笓鐢ㄤ簬JavaMail鐗瑰緛渚嬪MIME娑堟伅瀛愭帴鍙o紝鍛藉悕涓簅rg.springframework.javamail.JavaMailerSener銆傚畠涔熸敮鎸佷竴涓負JavaMail MIME淇℃伅鐨勫噯澶囧洖璋冩帴鍙o紝鍛藉悕涓簅rg.springframework.mail.JavaMail.MimeMessagePreparator.
2聽/**
3聽*email,瑕佸彂閫佺殑閭歡鍦板潃;
4聽*Code:嬋媧葷爜
5聽*/
6聽聽聽聽聽聽public聽void聽placeOrder(String聽email);
7聽}
聽2聽import聽javax.mail.MessagingException;
聽3聽import聽javax.mail.internet.InternetAddress;
聽4聽import聽javax.mail.internet.MimeMessage;
聽5聽import聽org.springframework.mail.MailException;
聽6聽import聽org.springframework.mail.javamail.JavaMailSender;
聽7聽import聽org.springframework.mail.javamail.MimeMessagePreparator;
聽8聽import聽service.OrderManager;
聽9聽聽
11聽public聽class聽OrderManagerImpl聽extends聽BaseManagerImpl聽implements聽OrderManager聽{
12聽
13聽private聽JavaMailSender聽mailsender;
14聽private聽MyMailMessage聽message;
15聽
16聽
17聽聽聽聽聽public聽void聽setMessage(CityMailMessage聽message)
18聽聽聽聽聽{
19聽聽聽聽聽聽聽聽聽this.message聽=聽message;
20聽聽聽聽聽}
21聽聽聽聽聽public聽void聽setMailsender(JavaMailSender聽mailsender)聽{
22聽聽聽聽聽聽聽聽聽this.mailsender聽=聽mailsender;
23聽聽聽聽聽}
24聽聽聽聽聽public聽void聽placeOrder(final聽String聽email)聽{
25聽聽聽聽聽聽聽聽聽
26聽
27聽聽聽聽聽聽聽聽聽MimeMessagePreparator聽preparator聽=聽new聽MimeMessagePreparator()聽{
28聽聽聽聽聽聽聽聽聽聽聽聽聽public聽void聽prepare(MimeMessage聽mimeMessage)聽throws聽MessagingException聽{
29聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽mimeMessage.setRecipient(Message.RecipientType.TO,聽
30聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽new聽InternetAddress(email));
31聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽mimeMessage.setFrom(new聽InternetAddress(message.getFrom()));
32聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽/**杞崲緙栫爜涓篏BK*/
33聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽mimeMessage.setSubject(message.getSubject(),"GBK");
36聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽mimeMessage.setText(email+"<br>"+message.getSubject()+message.getText(),"GBK");
37聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
38聽聽聽聽聽聽聽聽聽聽聽聽聽}
39聽聽聽聽聽聽聽聽聽};
40聽聽聽聽聽聽聽聽聽try{
41聽聽聽聽聽聽聽聽聽聽聽聽聽mailsender.send(preparator);
42聽聽聽聽聽聽聽聽聽}
43聽聽聽聽聽聽聽聽聽catch(MailException聽ex)聽{
44聽聽聽聽聽聽聽聽聽聽聽聽聽//log聽it聽and聽go聽on
45聽聽聽聽聽聽聽聽聽聽聽聽聽System.err.println(ex.getMessage());聽聽聽聽聽聽聽聽聽聽聽聽
46聽聽聽聽聽聽聽聽聽}
47聽聽聽聽聽}
48聽}
聽2聽<!DOCTYPE聽beans聽PUBLIC聽"-//SPRING//DTD聽BEAN//EN"
聽3聽聽聽聽聽"http://www.springframework.org/dtd/spring-beans.dtd">
聽4聽
聽5聽<beans>
聽6聽聽聽聽聽<bean聽id="mailSender"聽class="org.springframework.mail.javamail.JavaMailSenderImpl">
聽7聽聽聽聽聽聽聽聽聽<property聽name="host">
聽8聽聽聽聽聽聽聽聽聽聽聽聽聽<value>smtp.163.com</value>
聽9聽聽聽聽聽聽聽聽聽</property>
10聽聽聽聽聽聽聽聽聽<property聽name="username">
11聽聽聽聽聽聽聽聽聽聽聽聽聽<value>username</value>
12聽聽聽聽聽聽聽聽聽</property>
13聽聽聽聽聽聽聽聽聽<property聽name="password">
14聽聽聽聽聽聽聽聽聽聽聽聽聽<value>password</value>
15聽聽聽聽聽聽聽聽聽</property>
16聽聽聽聽聽聽聽聽聽<property聽name="javaMailProperties">
17聽聽聽聽聽聽聽聽聽聽聽聽聽<props>
18聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<prop聽key="mail.smtp.auth">true</prop>
19聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<prop聽key="mail.smtp.timeout">25000</prop>
20聽聽聽聽聽聽聽聽聽聽聽聽聽</props>
21聽聽聽聽聽聽聽聽聽</property>
22聽聽聽聽聽</bean>
23聽
24聽聽聽聽聽<bean聽id="mailMessage"聽class="org.springframework.mail.SimpleMailMessage">
25聽聽聽聽聽聽聽聽聽<property聽name="from">
26聽聽聽聽聽聽聽聽聽聽聽聽聽<value>Email</value>
27聽聽聽聽聽聽聽聽聽</property>
28聽聽聽聽聽聽聽聽聽<property聽name="subject">
29聽聽聽聽聽聽聽聽聽聽聽聽聽<value>鏍囬</value>
30聽聽聽聽聽聽聽聽聽</property>
31聽聽聽聽聽聽聽聽聽<property聽name="text">
32聽聽聽聽聽聽聽聽聽聽聽聽聽<value>鍐呭</value>
33聽聽聽聽聽聽聽聽聽</property>
46聽聽聽聽聽</bean>
47聽
48聽聽聽聽聽<bean聽id="orderManager"聽class="cn.cityyouth.service.impl.OrderManagerImpl">
49聽聽聽聽聽聽聽聽聽<property聽name="mailsender">
50聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽bean="mailSender"聽/>
51聽聽聽聽聽聽聽聽聽</property>
52聽聽聽聽聽聽聽聽聽<property聽name="message">
53聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽bean="mailMessage"聽/>
54聽聽聽聽聽聽聽聽聽</property>
55聽聽聽聽聽</bean>
56聽
57聽</beans>
聽2聽
聽3聽import聽javax.servlet.http.HttpServletRequest;
聽4聽import聽javax.servlet.http.HttpServletResponse;
聽5聽import聽org.apache.struts.action.ActionForm;
聽6聽import聽org.apache.struts.action.ActionForward;
聽7聽import聽org.apache.struts.action.ActionMapping;
聽8聽import聽org.apache.struts.action.ActionMessage;
聽9聽import聽org.apache.struts.action.ActionMessages;
10聽import聽com.test.service.OrderManager;
11聽
12聽public聽class聽SendMailAction聽extends聽BaseAction聽{
13聽
14聽聽聽聽聽/**
15聽聽聽聽聽聽*聽Method聽execute
16聽聽聽聽聽聽*聽
17聽聽聽聽聽聽*聽@param聽mapping
18聽聽聽聽聽聽*聽@param聽form
19聽聽聽聽聽聽*聽@param聽request
20聽聽聽聽聽聽*聽@param聽response
21聽聽聽聽聽聽*聽@return聽ActionForward
22聽聽聽聽聽聽*/
23聽聽聽聽聽public聽ActionForward聽execute(ActionMapping聽mapping,聽ActionForm聽form,
24聽聽聽聽聽聽聽聽聽聽聽聽聽HttpServletRequest聽request,聽HttpServletResponse聽response)聽{
25聽聽聽聽聽聽聽聽聽OrderManager聽omi=(OrderManager)this.getBean("orderManager");
26聽聽聽聽聽聽聽聽聽String聽useremail="123@163.com";
27聽聽聽聽聽聽聽聽聽聽omi.placeOrder(useremail);
28聽聽聽聽聽聽聽聽}
29聽}
]]>
JMS鍗蟲秷鎭湇鍔★紝鏄兘澶熷紓姝ュ鐞嗗鎴瘋姹傜殑寮鍙戞ā鍨嬨備負鏀寔娑堟伅鐨勫紓姝ュ鐞嗭紝Java/J2EE騫沖彴寮曞叆浜?/SPAN>JMS API銆?/SPAN>JMS鏀寔涓ょ娑堟伅妯″瀷錛氱偣瀵圭偣鍜屽彂甯?/SPAN>/璁㈤槄妯″紡銆?/SPAN>
JMS 鎶借薄瀵硅薄
浠?/SPAN>spring in action妗嗘灦涓?/SPAN>jms鐩稿叧鍖呯粨鏋勭湅錛屼富瑕佸寘鎷涓嬪唴瀹癸細
鈼?SPAN style="FONT: 7pt 'Times New Roman'"> org.springframework.jms:
鈼?SPAN style="FONT: 7pt 'Times New Roman'"> org.springframework.jms.connection:
鈼?SPAN style="FONT: 7pt 'Times New Roman'"> org.springframework.jms.core:
鈼?SPAN style="FONT: 7pt 'Times New Roman'"> org.springframework.jms.core.support:
鈼?SPAN style="FONT: 7pt 'Times New Roman'"> org.springframework.jms.support
鈼?SPAN style="FONT: 7pt 'Times New Roman'"> org.springframework.jms.support.converter:
鈼?SPAN style="FONT: 7pt 'Times New Roman'"> org.springframework.jms.support.destination
鍙戦佹秷鎭?/SPAN>
JmsTemplate妯℃澘鐨勪嬌鐢細
浜嗚В閰嶇疆錛?/SPAN>
<beans>
<!鈥?/SPAN>瀹氫箟榪炴帴宸ュ巶-->
<bean id=鈥漜onnectionFactory鈥?class=鈥漮rg.springframework.jndi.JndiObjectFactoryBean鈥?gt;
<property name=鈥漥ndiName鈥?gt;
<value>ConnectionFactory</value>
</property>
<property name=鈥漥ndiTemplate鈥?gt;
<ref local=鈥漥ndiTemplate鈥?>
</property>
</bean>
<!鈥?/SPAN>瀹氫箟鐩殑鍦?/SPAN>-->
<bean id=鈥漝estination鈥?class=鈥漮rg.springframework.jndi.JndiObjectFactoryBean鈥?gt;
<property name=鈥漥ndiName鈥?gt;
<value>queue/testQueue</value>
</property>
<property name=鈥漥ndiTemplate鈥?gt;
<ref local=鈥漥ndiTemplate鈥?>
</property>
</bean>
<!鈥攋msTemplate妯℃澘-->
<bean id=鈥漥msTemplate鈥?class=鈥漮rg.springframework.jms.core.JmsTemplate鈥?gt;
<property name=鈥漜onnectionFactory鈥?gt;
<ref local=鈥漜onnectionFactory鈥?>
</property>
<property name=鈥漝efaultDestination鈥?gt;
<ref local=鈥漝estination鈥?>
</property>
</bean>
<bean id=鈥漥ndiTemplate鈥?class=鈥漮rg.springframework.jms.jndi.JndiTemplate鈥?gt;
<property name=鈥漞nvironment鈥?gt;
<props>
<prop key = 鈥渏ava.naming.factory.initial鈥?gt;
Org.jnp.interfaces.NamingContextFactory
</prop>
<prop key = 鈥渏ava.naming.provider.url鈥?gt;
Jnp://url
</prop>
<prop key = 鈥渏ava.naming.factory.url.pkgs鈥?gt;
Org.jboss.naming:org.jnp.interfaces
</prop>
</props>
</property>
</bean>
<beans>
浠ヤ笂閰嶇疆閫氳繃spring in action JNDI鎶借薄鏈嶅姟涓殑org.springframework.jndi.JndiObjectFactoryBean鑾峰緱銆傛渶鍚庡畾涔夊悓瀹㈡埛搴旂敤浜や簰鐨?/SPAN>jmsTemplate.鍗?/SPAN>org.springframework.jms.core.JmsTemplate,瀹冨皢寮曠敤浠ヤ笂閰嶇疆涓殑鐩殑鍦板拰榪炴帴宸ュ巶銆?/SPAN>
緙栧啓瀹㈡埛绔唬鐮?/SPAN>
JmsTemplate Jt = (JmsTemplate)this.getBean();
Jt.sent(new MessageCreator())
{
Public Message createMessage(Session session) throws JMSException{
Return session.createTextMessge(鈥?/SPAN>鏂囨湰娑堟伅,queue/testQueue鈥?;
Log.info(鈥?/SPAN>鍙戦佹秷鎭垚鍔燂紱鈥?;
}
}
浠?/SPAN>spring in action妗嗘灦鎻愪緵鐨?/SPAN>Jms鎶借薄涓紝JmsTemplate鍚?/SPAN>MessageCreator緇撳悎鑳藉鍙戦佹秷鎭紝鍥犳闇瑕佸疄鐜?/SPAN>MessageCreator鍥炶皟鎺ュ彛瀹氫箟鐨?/SPAN>createMessage鍙戞硶銆?/SPAN>
weblogic瀹夎鍙傝
http://zhangstar.blogbus.com/logs/2004/09/413796.html
MyEclipse榛樿鐨勫簲鐢ㄦ湇鍔″櫒涓篔Boss3錛岃繖閲屾垜浠嬌鐢╓ebLogic8.1銆傚惎鍔‥clipse錛岄夋嫨鈥滅獥鍙棣栭夐」鈥濊彍鍗曪紝鎵撳紑棣栭夐」瀵硅瘽妗嗐傚睍寮MyEclipse涓嬬殑Application Servers緇撶偣錛岀偣鍑籎Boss 3錛岄変腑鍙抽潰鐨凞isable鍗曢夋寜閽紝鍋滅敤JBoss 3銆傜劧鍚庣偣鍑籛ebLogic 8錛岄変腑鍙寵竟鐨凟nable鍗曢夋寜閽紝鍚敤WebLogic鏈嶅姟鍣ㄣ傚悓鏃朵笅闈㈢殑閰嶇疆濡備笅錛?
(1)BEA home directory錛欳:\BEA銆傚亣瀹歐ebLogic瀹夎鍦―:\BEA鏂囦歡澶逛腑銆?
(2)WebLogic installation directory錛欳:\BEA\weblogic81銆?
(3)Admin username錛氱敤鎴峰悕銆?
(4)Admin password錛氬瘑鐮併?
(5)Execution domain root錛氬畨瑁呭悗錛屽惎鍔ㄦ湇鍔$殑璺緞銆?
(6)Execution domain name錛歮ydomain銆?
(7)Execution server name錛歮yserver銆?
(8)Hostname:PortNumber錛歭ocalhost:7001銆?
(9)Security policy file錛欴:\BEA\weblogic81\server\lib\weblogic.policy銆?
(10)JAAS login configuration file錛氱渷鐣ャ?
浠ヤ笂閰嶇疆鏍規嵁瀹夎鎯呭喌涓嶅悓鑰屼笉鍚屻?BR>濡傚浘錛?BR>
鎺ョ潃灞曞紑WebLogic 8緇撶偣錛岀偣鍑籎DK錛屽湪鍙寵竟鐨刉LS JDK name澶勯夋嫨WebLogic 8鐨勯粯璁DK銆傝繖閲岀粍鍚堟涓己鐪佷負j2re1.4.2_03錛屽嵆涔嬪墠鍗曠嫭瀹夎鐨刯re銆傚崟鍑籄dd鎸夐挳錛屽脊鍑篧ebLogic > Add JVM瀵硅瘽妗嗭紝鍦↗RE鍚嶇О澶勯殢渚胯緭鍏ヤ竴涓悕瀛楋紝濡俲re1.4.1_02銆傜劧鍚庡湪JRE涓葷洰褰曞閫夋嫨WebLogic瀹夎鏂囦歡澶逛腑鐨凧DK鏂囦歡澶癸紝濡侱:\BEA\jdk141_02錛岀▼搴忎細鑷姩濉厖Javadoc URL鏂囨湰妗嗗拰JRE緋葷粺搴撳垪琛ㄦ銆傚崟鍑葷‘瀹氭寜閽叧闂璇濇銆傝繖鏃跺欏氨鍙互鍦╓LS JDK name緇勫悎妗嗕腑閫夋嫨jre1.4.1_02浜嗐備箣鍚庤繕瑕佸湪涓嬮潰鐨凮ptional Java VM arguments錛屽-ms64m -mx64m -Djava.library.path="D:/BEA/weblogic81/server/bin" -Dweblogic.management.discover=false -Dweblogic.ProductionModeEnabled=false
鏈鍚庣偣鍑籔aths錛屽湪鍙寵竟鐨凱repend to classpath鍒楄〃妗嗕腑錛岄氳繃Add JAR/ZIP鎸夐挳錛屽姞鍏:\BEA\weblogic81\server\lib\weblogic.jar銆丏:\BEA\weblogic81\server\lib\webservices.jar銆傚鏋滅敤鍒版暟鎹簱錛岃繕闇鎶婃暟鎹簱鐨勯┍鍔ㄧ被搴撳姞榪涙潵錛岃繖閲屾垜浠敤WebLogic鑷甫鐨凷QL Server鏁版嵁搴撻┍鍔ㄥ簱D:\BEA\weblogic81\server\lib\mssqlserver4v65.jar銆?
鑷蟲錛孧yEclipse涓璚ebLogic8鐨勯厤緗伐浣滃氨綆楀畬鎴愪簡銆備笅闈㈠彲浠ョ湅鐪嬪湪Eclipse涓兘鍚﹀惎鍔╓ebLogic浜嗭紵鑷粠瀹夎浜哅yEclipse涔嬪悗錛孍clipse宸ュ叿鏍忎腑灝變細鏈変竴涓猂un/Stop Servers涓嬫媺鎸夐挳銆傜偣鍑昏鎸夐挳鐨勪笅鎷夐儴鍒嗭紝閫夋嫨鈥淲ebLogic 8\Start鈥濊彍鍗曪紝鍗沖紑濮嬪惎鍔╓ebLogic浜嗐傞氳繃鏌ョ湅涓嬮潰鐨勬帶鍒跺彴娑堟伅錛屽氨鍙互鐭ラ亾鍚姩鏄惁鎴愬姛錛屾垨鏈変粈涔堝紓甯稿彂鐢熴傚仠姝ebLogic鍙夋嫨鈥淲ebLogic\Stop鈥濊彍鍗?/P>
2銆?
閮ㄧ講鎻忚堪絎︽枃浠跺唴鐨勫厓绱犳搴?/SPAN>XML 鍏冪礌涓嶄粎鏄ぇ灝忓啓鏁忔劅鐨勶紝鑰屼笖瀹冧滑榪樺鍑虹幇鍦ㄥ叾浠栧厓绱犱腑鐨勬搴忔晱鎰熴?/SPAN>
XML澶村繀欏繪槸鏂囦歡涓殑絎竴欏癸紝DOCTYPE澹版槑蹇呴』鏄浜岄」錛岃?/SPAN>web- app鍏冪礌蹇呴』鏄涓夐」銆傚湪web-app鍏冪礌鍐咃紝鍏冪礌鐨勬搴忎篃寰堥噸瑕併傛湇鍔″櫒涓嶄竴瀹氬己鍒惰姹傝繖縐嶆搴忥紝浣嗗畠浠厑璁革紙瀹為檯涓婃湁浜涙湇鍔″櫒灝辨槸榪欐牱鍋氱殑錛夊畬鍏ㄦ嫆緇濇墽琛屽惈鏈夋搴忎笉姝g‘鐨勫厓绱犵殑Web搴旂敤銆傝繖琛ㄧず浣跨敤闈炴爣鍑嗗厓绱犳搴忕殑web.xml鏂囦歡鏄笉鍙Щ妞嶇殑銆?/SPAN>
涓嬮潰鐨勫垪琛ㄧ粰鍑轟簡鎵鏈夊彲鐩存帴鍑虹幇鍦?/SPAN>web-app鍏冪礌鍐呯殑鍚堟硶鍏冪礌鎵蹇呴渶鐨勬搴忋?/SPAN>
姝ゅ垪琛ㄨ鏄?/SPAN>servlet鍏冪礌蹇呴』鍑虹幇鍦ㄦ墍鏈?/SPAN>servlet-mapping鍏冪礌涔嬪墠銆傝娉ㄦ剰錛屾墍鏈夎繖浜涘厓绱犻兘鏄彲閫夌殑銆傚洜姝わ紝鍙互鐪佺暐鎺夋煇涓鍏冪礌錛屼絾涓嶈兘鎶婂畠鏀句簬涓嶆紜殑浣嶇疆銆?/SPAN>
l icon icon鍏冪礌鎸囧嚭IDE鍜?/SPAN>GUI宸ュ叿鐢ㄦ潵琛ㄧずWeb搴旂敤鐨勪竴涓拰涓や釜鍥懼儚鏂囦歡鐨勪綅緗?/SPAN>
l display-name display-name鍏冪礌鎻愪緵GUI宸ュ叿鍙兘浼氱敤鏉ユ爣璁拌繖涓壒瀹氱殑Web搴旂敤鐨勪竴涓悕縐般?/SPAN>
l description description鍏冪礌緇欏嚭涓庢鏈夊叧鐨勮鏄庢ф枃鏈?/SPAN>
l context-param context-param鍏冪礌澹版槑搴旂敤鑼冨洿鍐呯殑鍒濆鍖栧弬鏁般?/SPAN>
l filter 榪囨護鍣ㄥ厓绱犲皢涓涓悕瀛椾笌涓涓疄鐜?/SPAN>javax.servlet.Filter鎺ュ彛鐨勭被鐩稿叧鑱斻?/SPAN>
l filter-mapping 涓鏃﹀懡鍚嶄簡涓涓繃婊ゅ櫒錛屽氨瑕佸埄鐢?/SPAN>filter-mapping鍏冪礌鎶婂畠涓庝竴涓垨澶氫釜servlet鎴?/SPAN>JSP欏甸潰鐩稿叧鑱斻?/SPAN>
l listener servlet API鐨勭増鏈?/SPAN>2.3澧炲姞浜嗗浜嬩歡鐩戝惉紼嬪簭鐨勬敮鎸侊紝浜嬩歡鐩戝惉紼嬪簭鍦ㄥ緩绔嬨佷慨鏀瑰拰鍒犻櫎浼氳瘽鎴?/SPAN>servlet鐜鏃跺緱鍒伴氱煡銆?/SPAN>Listener鍏冪礌鎸囧嚭浜嬩歡鐩戝惉紼嬪簭綾匯?/SPAN>
l servlet 鍦ㄥ悜servlet鎴?/SPAN>JSP欏甸潰鍒跺畾鍒濆鍖栧弬鏁版垨瀹氬埗URL鏃訛紝蹇呴』棣栧厛鍛藉悕servlet鎴?/SPAN>JSP欏甸潰銆?/SPAN>Servlet鍏冪礌灝辨槸鐢ㄦ潵瀹屾垚姝ら」浠誨姟鐨勩?/SPAN>
l servlet-mapping 鏈嶅姟鍣ㄤ竴鑸負servlet鎻愪緵涓涓己鐪佺殑URL錛?/SPAN>銆備絾鏄紝甯稿父浼氭洿鏀硅繖涓?/SPAN>URL錛屼互渚?/SPAN>servlet鍙互璁塊棶鍒濆鍖栧弬鏁版垨鏇村鏄撳湴澶勭悊鐩稿URL銆傚湪鏇存敼緙虹渷URL鏃訛紝浣跨敤servlet-mapping鍏冪礌銆?/SPAN>
l session-config 濡傛灉鏌愪釜浼氳瘽鍦ㄤ竴瀹氭椂闂村唴鏈璁塊棶錛屾湇鍔″櫒鍙互鎶涘純瀹冧互鑺傜渷鍐呭瓨銆傚彲閫氳繃浣跨敤HttpSession鐨?/SPAN>setMaxInactiveInterval鏂規硶鏄庣‘璁劇疆鍗曚釜浼氳瘽瀵硅薄鐨勮秴鏃跺鹼紝鎴栬呭彲鍒╃敤session-config鍏冪礌鍒跺畾緙虹渷瓚呮椂鍊箋?/SPAN>
l mime-mapping 濡傛灉Web搴旂敤鍏鋒湁鎯沖埌鐗規畩鐨勬枃浠訛紝甯屾湜鑳戒繚璇佺粰浠栦滑鍒嗛厤鐗瑰畾鐨?/SPAN>MIME綾誨瀷錛屽垯mime-mapping鍏冪礌鎻愪緵榪欑淇濊瘉銆?/SPAN>
l welcom-file-list welcome-file-list鍏冪礌鎸囩ず鏈嶅姟鍣ㄥ湪鏀跺埌寮曠敤涓涓洰褰曞悕鑰屼笉鏄枃浠跺悕鐨?/SPAN>URL鏃訛紝浣跨敤鍝釜鏂囦歡銆?/SPAN>
l error-page error-page鍏冪礌浣垮緱鍦ㄨ繑鍥炵壒瀹?/SPAN>HTTP鐘舵佷唬鐮佹椂錛屾垨鑰呯壒瀹氱被鍨嬬殑寮傚父琚姏鍑烘椂錛岃兘澶熷埗瀹氬皢瑕佹樉紺虹殑欏甸潰銆?/SPAN>
l taglib taglib鍏冪礌瀵規爣璁板簱鎻忚堪絎︽枃浠訛紙Tag Libraryu Descriptor file錛夋寚瀹氬埆鍚嶃傛鍔熻兘浣夸綘鑳藉鏇存敼TLD鏂囦歡鐨勪綅緗紝鑰屼笉鐢ㄧ紪杈戜嬌鐢ㄨ繖浜涙枃浠剁殑JSP欏甸潰銆?/SPAN>
l resource-env-ref resource-env-ref鍏冪礌澹版槑涓庤祫婧愮浉鍏崇殑涓涓鐞嗗璞°?/SPAN>
l resource-ref resource-ref鍏冪礌澹版槑涓涓祫婧愬伐鍘備嬌鐢ㄧ殑澶栭儴璧勬簮銆?/SPAN>
l security-constraint security-constraint鍏冪礌鍒跺畾搴旇淇濇姢鐨?/SPAN>URL銆傚畠涓?/SPAN>login-config鍏冪礌鑱斿悎浣跨敤
l login-config 鐢?/SPAN>login-config鍏冪礌鏉ユ寚瀹氭湇鍔″櫒搴旇鎬庢牱緇欒瘯鍥捐闂彈淇濇姢欏甸潰鐨勭敤鎴鋒巿鏉冦傚畠涓?/SPAN>sercurity-constraint鍏冪礌鑱斿悎浣跨敤銆?/SPAN>
l security-role security-role鍏冪礌緇欏嚭瀹夊叏瑙掕壊鐨勪竴涓垪琛紝榪欎簺瑙掕壊灝嗗嚭鐜板湪servlet鍏冪礌鍐呯殑security-role-ref鍏冪礌鐨?/SPAN>role-name瀛愬厓绱犱腑銆傚垎鍒湴澹版槑瑙掕壊鍙嬌楂樼駭IDE澶勭悊瀹夊叏淇℃伅鏇翠負瀹規槗銆?/SPAN>
l env-entry env-entry鍏冪礌澹版槑Web搴旂敤鐨勭幆澧冮」銆?/SPAN>
l ejb-ref ejb-ref鍏冪礌澹版槑涓涓?/SPAN>EJB鐨勪富鐩綍鐨勫紩鐢ㄣ?/SPAN>
l ejb-local-ref ejb-local-ref鍏冪礌澹版槑涓涓?/SPAN>EJB鐨勬湰鍦頒富鐩綍鐨勫簲鐢ㄣ?BR>3銆?/SPAN>
spring in action 鐨?JMS 鎶借薄妗嗘灦綆鍖栦簡 JMS API 鐨勪嬌鐢紝騫朵笌 JMS 鎻愪緵鑰咃紙姣斿 IBM 鐨?WebSphere MQ 5.3錛夊鉤婊戝湴闆嗘垚銆?I>org.springframework.jms.core 鍖呮彁渚涗簡鍦?spring in action 涓嬌鐢?JMS 鐨勬牳蹇冨姛鑳姐傚畠鐨勬ā鏉跨被澶勭悊璧勬簮鐨勫垱寤哄拰閲婃斁錛岀畝鍖栦簡 JMS 鐨勪嬌鐢ㄣ?/P>
鍍忓叾浠栧ぇ澶氭暟 spring in action 妯℃澘綾諱竴鏍鳳紝JMS 妯℃澘綾繪彁渚涗簡鎵ц鍏叡鎿嶄綔鐨?helper 鏂規硶銆傚湪闇瑕佹洿澶嶆潅搴旂敤鐨勬儏鍐典笅錛岀被鎶婂鐞嗕換鍔$殑鏍稿績濮旀墭緇欑敤鎴峰疄鐜扮殑鍥炶皟鎺ュ彛銆侸MS 綾繪彁渚涗簡鏂逛究鐨勬柟娉曪紝鐢ㄦ潵鍙戦佹秷鎭佸悓姝ュ湴浣跨敤娑堟伅浠ュ強鍚戠敤鎴峰叕寮 JMS 浼氳瘽鍜屾秷鎭殑鍒朵綔鑰呫?/P>
浠ヤ笅 JMS 鍖呭拰 org.springframework.jms.core 涓璧鋒瀯鎴愪簡 spring in action JMS 鐨勫姛鑳斤細
JMSException
鐨勫姛鑳姐傝漿鎹唬鐮佹妸媯嫻嬪埌鐨?JMSException
灞傛緇撴瀯杞崲鎴愭湭媯嫻嬪埌寮傚父鐨勯暅鍍忓眰嬈$粨鏋勩?
MessageConverter
鎶借薄錛屼互鍦?Java 瀵硅薄鍜?JMS 娑堟伅涔嬮棿榪涜杞崲銆?
ConnectionFactory
瀹炵幇銆俢onnection 榪樺寘鍚拡瀵?JMS 鐨?spring in action PlatformTransactionManager
瀹炵幇銆傚畠鍏佽鎶?JMS 浣滀負浜嬪姟鎬ц祫婧愰泦鎴愬埌 spring in action 鐨勪簨鍔$鐞嗘満鍒朵腑銆?/DD>![]() |
|
灝卞儚鍓嶉潰鎻愬埌鐨勶紝紺轟緥搴旂敤紼嬪簭浼氱敤 spring in action 鐨?JMS 妗嗘灦閫氳繃 JMS 鎺ュ彛涓?IBM 鐨?WebSphere MQ 闆嗘垚銆傞氳繃鍦ㄥ簲鐢ㄧ▼搴忓拰 Web 鏈嶅姟涔嬮棿浼犻掓秷鎭紝WebSphere MQ 鎻愪緵浜嗗彲闈犵殑銆佹湁鎭㈠鑳藉姏鐨勫簲鐢ㄧ▼搴忛泦鎴愩傚畠浣跨敤闃熷垪鍜屼簨鍔℃у伐鍏峰府鍔╀繚鎸佹秷鎭法緗戠粶鐨勫畬鏁存с俉ebSphere MQ 闄嶄綆浜嗕俊鎭涪澶辯殑椋庨櫓鍜岃皟鍜岄氫俊 IT 緋葷粺鐨勯渶瑕併?/P>
WebSphere MQ 鍦ㄥ畠鎵鏀寔鐨勬墍鏈夊鉤鍙頒笂鎻愪緵浜嗕竴鑷寸殑搴旂敤紼嬪簭緙栫▼鎺ュ彛錛岃繖鏈夊姪浜庤闆嗘垚鐨勭▼搴忓彲縐繪銆傞櫎浜嗘爣鍑嗘帴鍙e錛學ebSphere MQ 榪樺畬鏁村疄鐜頒簡JMS 鎺ュ彛錛屽寘鎷鍙戝竷-璁㈤槄娑堟伅浼犻掔殑鏀寔銆俉ebSphere MQ Explorer 宸ュ叿鍙互榪滅▼鍦扮鐞嗗拰閰嶇疆鏁翠釜 MQ 緗戠粶銆傜鐞嗗拰閰嶇疆宸ュ叿鍩轟簬寮鏀炬簮鐮佺殑 Eclipse 妗嗘灦錛岃屼笖鏄彲鎵╁睍鐨勩?/P>
![]() |
|
spring in action 妗嗘灦鎻愪緵浜?JmsTemplate
鐨勪袱涓疄鐜般?CODE>JmsTemplate 綾諱嬌鐢?JMS 1.1 API錛屽瓙綾?JmsTemplate102
鍒欎嬌鐢?JMS 1.0.2 API銆傛垜鐨勭ず渚嬪簲鐢ㄧ▼搴忎嬌鐢ㄧ殑鏄?JmsTemplate102
銆?/P>
JMS 妯℃澘琚敤鏉ュ彂閫佸拰鎺ユ敹 JMS 娑堟伅銆係pring 閲囩敤鍥炶皟鏈哄埗瀵?JMS 淇℃伅浼犻掕繘琛屽崗璋冦?CODE>MessageCreator 鍥炶皟鎺ュ彛鐢?JmsTemplate
涓殑璋冪敤浠g爜鎻愪緵鐨?Session
鍒涘緩娑堟伅銆備負浜嗘敮鎸?JMS API 鏇村鏉傜殑搴旂敤錛屽洖璋?SessionCallback
鍚戠敤鎴鋒彁渚涗簡 JMS 浼氳瘽錛岃?callback ProducerCallback
鍒欏叕寮浜?Session
鍜?MessageProducer
緇勫悎銆?
娓呭崟 1 鏄劇ず浜嗙ず渚嬪簲鐢ㄧ▼搴忎嬌鐢ㄧ殑 JMS 妯℃澘鐨勯厤緗傛竻鍗曟憳鑷?spring in action-mqseries-jms.xml 鏂囦歡錛堣鍙傞槄 涓嬭澆錛夈?
|
jmsQueueTemplate
bean 涓?JMS 榪炴帴宸ュ巶鍜?JMS 鐩爣瑙f瀽鍣ㄧ粦瀹氬湪涓璧鳳紝鐢ㄤ簬瑙f瀽 JMS 瀹㈡埛鏈洪氳繃 JNDI 鎻愪緵鐨勭洰鏍囬槦鍒楀悕銆?CODE>connectionFactory 灞炴ф寚瀹氫簡濡備綍鑾峰緱鍒?JMS 鎻愪緵鑰呯殑榪炴帴銆傚湪鏈緥涓紝娓呭崟 2 鏄劇ず浜嗗浣曚粠 JNDI 媯绱㈣繛鎺ュ伐鍘傘?/P>
娓呭崟 2. 閫氳繃 JNDI 閰嶇疆 JMS 榪炴帴宸ュ巶
|
鍙互鐪嬪埌錛?CODE>JndiObjectFactoryBean 琚粦瀹氬埌 internalJmsQueueConnectionFactory
銆?CODE>JndiObjectFactoryBean 鐢?JndiTemplate
灞炴ц繘琛?JNDI 鏌ヨ銆係pring 灝嗙敤 JndiTemplate
涓寚瀹氱殑鐜灞炴у拰鍒濆涓婁笅鏂囧湪 JNDI 涓煡璇㈣繛鎺ュ伐鍘傘傛竻鍗?3 鏄劇ず浜?JndiTemplate
閰嶇疆 bean 鐨勯厤緗?/P>
娓呭崟 3. JNDI 鏌ヨ鐨?JNDI 妯℃澘閰嶇疆
|
浠ヤ笂閰嶇疆榪涜 JNDI 鏌ヨ鏃剁敤 com.sun.jndi.fscontext.RefFSContextFactory
鎸囧畾鍒濆涓婁笅鏂囧伐鍘傦紝鐢ㄥ熀浜庢枃浠剁殑 file:/C:/JNDI-Directory 浣滀負鎻愪緵鑰?URL銆傛牴鎹ず渚嬪簲鐢ㄧ▼搴忕殑鎰忓浘錛孞NDI 璁塊棶浼氶噰鐢ㄥ熀浜庢枃浠剁殑 FSContext
鐗堟湰錛堣鍙傞槄 鍙傝冭祫鏂?/FONT>錛夌殑閰嶇疆鎶?MQ 闃熷垪緇戝畾鍒?JNDI銆?/P>
鏈変簡瀹氫箟濂界殑 JMS 妯℃澘錛屼笅涓姝ュ氨鏄妸瀹冪粦瀹氬埌紺轟緥搴旂敤紼嬪簭涓紝鐒跺悗灝卞彲浠ョ敤瀹冨彂閫佸拰鎺ユ敹娑堟伅浜嗐?/P>
![]() |
|
JMS 妯℃澘鍙互緇戝畾鍒板簲鐢ㄧ▼搴忎腑錛屼互鍙戦佸拰鎺ユ敹 JMS 娑堟伅銆傚湪娓呭崟 4 涓彲浠ョ湅鍑烘垜濡備綍鎶?娓呭崟 1 涓殑 JMS 妯℃澘緇戝畾鍒扮ず渚嬪簲鐢ㄧ▼搴忎腑銆?/P>
娓呭崟 4. 鎶?JmsTemplate 緇戝畾鍒板簲鐢ㄧ▼搴忎腑
|
鍙互鐪嬪埌錛屾垜鎶?jmsQueueTemplate
緇戝畾鍒扮敤鏉ュ彂閫佸拰鎺ユ敹娑堟伅鐨?JmsSender
搴旂敤紼嬪簭 bean 鍜?JmsReceiver
bean銆傛竻鍗?5 鏄劇ず浜嗕笌 JMSSender
綾繪湁鍏崇殑浠g爜銆?/P>
娓呭崟 5. 鐢?JmsTemplate 鍙戦?JMS 娑堟伅鐨?JMSSender
|
JMSSender
綾葷敤 jmsTemplate102.send()
鏂規硶鍙戦?JMS 娑堟伅銆?CODE>send() 鏂規硶鐨勭涓涓弬鏁版槸 JNDI 闃熷垪鍚嶏紝闃熷垪鍚嶆寚瀹氫簡娑堟伅搴斿綋鍙戦佸埌鍝噷銆傦紙寰堝揩灝變細鐪嬪埌濡備綍鎶?WebSphere MQ 鐨勯槦鍒楀悕緇戝畾鍒?JNDI銆傦級send()
鏂規硶鐨勭浜屼釜鍙傛暟鏄?MessageCreator
綾匯?CODE>JmsTemplate 涓殑璋冪敤浠g爜鎻愪緵浜?Session
綾伙紝榪欎釜綾繪彁渚涗簡涓涓垱寤?JMS 娑堟伅鐨勫洖璋冩帴鍙c?/P>
涓嬩竴姝ユ槸鐢?JMS 鐨?Session
綾誨垱寤轟竴涓畝鍗曠殑鏂囨湰娑堟伅銆傚湪浠g爜鎵ц鏃訛紝娑堟伅浼氫紶閫掔粰 WebSphere MQ 鏈嶅姟鍣ㄧ殑闃熷垪銆傛竻鍗?6 鏄劇ず浜嗕嬌鐢?JmsTemplate
媯绱?JMS 娑堟伅鐨?JMSReceiver
搴旂敤紼嬪簭 bean 鐨勪唬鐮併?/P>
娓呭崟 6. 鐢?JmsTemplate 媯绱?JMS 娑堟伅鐨?JMSReceiver
|
JMSReceiver
綾葷敤 jmsTemplate102.receive()
鏂規硶鍚屾鍦版帴鏀?JMS 娑堟伅銆?CODE>receive() 鏂規硶鎸囧畾 JNDI 闃熷垪鍚嶏紝騫朵粠涓绱㈡秷鎭?CODE>JMSTemplate 綾葷殑 processMessage()
鏂規硶鐢辨帴鏀?JMS 瀹㈡埛鏈鴻皟鐢ㄣ?CODE>JSMTemplate bean 鐨勫睘鎬?receiveTimeout錛堝垪鍦?JMSTemplate
閰嶇疆涓級鎸囧畾鎺ユ敹瀹㈡埛鏈哄悓姝ュ湴浠庨槦鍒椾腑鎺ユ敹娑堟伅鏃惰絳夊欑殑鏃墮棿銆?/P>
鐜板湪搴旂敤紼嬪簭鐨勪唬鐮佸凡瀹屾垚錛佷笅涓姝ュ氨鏄厤緗?WebSphere MQ 闃熷垪騫舵妸瀹冧滑緇戝畾鍒?JNDI 瀵硅薄銆?/P>
![]() |
|
鍦ㄨ繍琛屽簲鐢ㄧ▼搴忎箣鍓嶏紝闇瑕佽緗?WebSphere MQ 鐨勯槦鍒楃鐞嗗櫒鍜岄槦鍒楋紝騫舵妸瀹冧滑緇戝畾鍒?JNDI銆傚鏋滃枩嬈㈢殑璇濓紝鍙互鎸夌収榪欓儴鍒嗙殑紺轟緥鍋氾細鍙渶 涓嬭澆 璁劇疆 WebSphere MQ 闃熷垪鐨勬壒鏂囦歡鍜屽簲鐢ㄧ▼搴忕殑婧愪唬鐮佸拰閮ㄧ講鎻忚堪絎﹀嵆鍙傛妸 zip 鏂囦歡瑙e帇鍒伴┍鍔ㄥ櫒 C:銆?/P>
璁劇疆闃熷垪
榪愯 C:\SpringSeriesPart4JMS\batch 鏂囦歡澶逛腑鐨?mqsetup.bat 鏂囦歡銆傝繖涓壒鏂囦歡瑕佹眰鍦?path 鐜鍙橀噺涓緗ソ MQ 瀹夎鐨?bin 鏂囦歡澶癸紙渚嬪 C:\mqseries\bin錛夈傝繍琛屼簡鎵規枃浠朵箣鍚庯紝搴斿綋鐪嬪埌娑堟伅 鈥?CODE>All valid MQSC commands were processed鈥濄傝鎵撳紑 MQ Explorer 騫舵鏌ュ凡緇忓垱寤虹殑闃熷垪綆$悊鍣ㄥ拰闃熷垪錛岃閫夋嫨 Start -> Programs -> IBM MQSeries -> MQSeriesExplorer銆傚浘 1 鏄劇ず鍑虹ず渚嬪簲鐢ㄧ▼搴?QueueManager
MQJMS.QManager
宸茬粡鍒涘緩騫舵鍦ㄨ繍琛屻?/P>
鍥?1. WebSphere MQ 鐨?QueueManager 閰嶇疆
璇峰湪搴旂敤紼嬪簭灞忓箷宸︿晶闈㈡澘涓婄偣鍑?MQJMS.QManager
涓嬬殑 Queues 鏂囦歡澶廣傚簲褰撶湅鍒板凡緇忓垱寤轟簡涓涓槦鍒?RequestResponseQueue
錛屽鍥?2 鎵紺恒?/P>
鍥?2. WebSphere MQ 鐨勮姹?鍝嶅簲闃熷垪閰嶇疆
榪欏氨瀹屾垚浜嗛槦鍒楃殑璁劇疆銆?/P>
璁劇疆 JMS 鍜?JNDI 綆$悊
鍦ㄧず渚嬪簲鐢ㄧ▼搴忎腑錛孞NDI 鐨勮闂埄鐢ㄤ簡鍙互浠?JNDI 涓婚〉寰楀埌鐨勫熀浜庢枃浠剁殑 FSContext
鐗堟湰錛堣鍙傞槄 鍙傝冭祫鏂?/FONT>錛夈?I>FSContext.jar 鏂囦歡涔熷寘鍚湪 WebSphere MQ 鐨?JMS 鏀寔褰撲腑銆傝娣誨姞鏂囦歡澶?\MQSeriesInstallable\MQSeries\Java\lib 鍜?\MQSeriesInstallable\MQSeries\Java\bin 鍒扮郴緇熺殑 PATH 鐜鍙橀噺涓傝屼笖錛岃鎶?\MQSeriesInstallable\MQSeries\Java\lib 鏂囦歡澶逛腑鐨勬墍鏈?jar 鏂囦歡娣誨姞鍒扮郴緇熺殑 CLASSPATH 鐜鍙橀噺涓傝繕鍙互榪愯 C:\SpringSeriesPart4JMS\batch 鏂囦歡澶逛腑鐨?classpath.cmd 鏂囦歡錛屽畠浼氳緗繀瑕佺殑 path 鍜?CLASSPATH 鍙橀噺銆傝鍋氬埌榪欑偣錛屽彧闇瑕佷慨鏀?classpath.cmd 鏂囦歡涓殑 MQ_JAVA_INSTALL_PATH
錛屾妸瀹冩寚鍒?WebSphere MQ JMS 鐨勫畨瑁呯洰褰曘?/P>
鎺ヤ笅鏉ワ紝淇敼 \MQSeriesInstallableDirectory\Java\bin 涓殑 JMSAdmin.config 閰嶇疆鏂囦歡錛孧QSeries JMS 綆$悊紼嬪簭鐢ㄥ畠鎸囨槑搴旂敤紼嬪簭瑕佷嬌鐢ㄧ殑涓婁笅鏂囧伐鍘傚拰 JNDI 瀹炵幇鐨勫湴鍧銆傝鍙栨秷浠ヤ笅琛岀殑娉ㄩ噴錛?/P>
|
騫舵敞閲婃帀鍏朵綑涓や釜 INITIAL_CONTEXT_FACTORY
鍙橀噺銆傝繕瑕佸彇娑堜互涓嬭鐨勬敞閲婏細
|
騫舵敞閲婃帀鍏朵綑涓や釜 PROVIDER_URL
鍙橀噺銆?/P>
鍙互鍦?C:\SpringSeriesPart4JMS\batch 鏂囦歡澶逛腑鍙戠幇鍙傝冪殑紺轟緥閰嶇疆鏂囦歡銆?/P>
涓轟簡淇濆瓨 JNDI 瀵硅薄錛岃鍦ㄩ┍鍔ㄥ櫒 C: 涓婂垱寤哄悕涓?JNDI-Directory 鐨勭洰褰曘傚垏鎹㈠埌 \MQSeriesInstallableDirectory\Java\bin 鐩綍騫惰繍琛?JMSAdmin 鎵規枃浠訛紝搴斿綋鐪嬪埌 InitCtx 鍙橀噺銆?/P>
閫愪釜杈撳叆浠ヤ笅鍐呭錛?/P>
|
鐜板湪宸茬粡鎶?WebSphere MQ 闃熷垪緇戝畾鍒?JNDI 瀵硅薄錛屼綔涓哄簲鐢ㄧ▼搴忓鎴峰彲浠ラ氳繃 JNDI 鏌ヨ瀵硅薄銆傜幇鍦ㄥ墿涓嬬殑灝辨槸鐪嬩唬鐮佺殑瀹為檯浣滅敤浜嗭紒
![]() |
|
瑕佽繍琛岀ず渚嬶紝璇蜂粠 spring in action sourceforge download 涓嬭澆 spring in action 妗嗘灦鍜屽畠鐨勬墍鏈変緷璧栨枃浠跺茍瑙e帇錛屼緥濡傝В鍘嬪埌 c:\銆備細鍒涘緩鏂囦歡澶?C:\spring-framework-1.2-rc2錛堟垨鏈鏂扮増鏈級銆?/P>
瑕佽繍琛?spring in action 搴旂敤紼嬪簭錛岃鎶婃湰鏂囩殑婧愪唬鐮佽В鍘嬪埌浠繪剰鏂囦歡澶癸紝渚嬪 c:\銆備細鍒涘緩鏂囦歡澶?SpringSeriesPart4JMS銆傚氨鍍忓墠闈㈡彁鍒拌繃鐨勶紝榪橀渶瑕佸畨瑁?Apache Ant 鍜屽畠鐨?spring in action 渚濊禆 jar 鏂囦歡銆傝鎶?spring in action 搴?鈥斺?鍗?spring in action.jar錛堝湪 C:\spring-framework-1.2-rc2\dist 涓級鍜?commons-logging.jar錛堝湪 C:\spring-framework-1.2-rc2\lib\jakarta-commons 涓級鎷瘋礉鍒?SpringSeriesPart4JMS\lib 鏂囦歡澶廣傝繕瑕佹妸鎵鏈夌殑 jar 搴撲粠 \MQSeriesInstallableDirectory\Java\lib 鐩綍鎷瘋礉鍒?SpringSeriesPart4JMS\lib 鏂囦歡澶廣傚叾涓寘鍚?MQseries 鍜?JMS 鐨勭浉鍏沖簱銆傜幇鍦ㄥ氨鎷ユ湁浜嗘瀯寤虹殑渚濊禆闆嗐?/P>
鎺ヤ笅鏉ワ紝鎵撳紑鍛戒護鎻愮ず絎︼紝鍒囨崲鍒?SpringProject4 鐩綍錛屽茍鍦ㄥ懡浠ゆ彁紺虹涓嬭緭鍏ヤ互涓嬪懡浠わ細
|
榪欎細鏋勫緩騫惰繍琛?SendMQSpringJMS
綾伙紝瀹冧細璋冪敤 JMSSender
綾伙紝鍙戦佹秷鎭埌 WebSphere MQ RequestResponse
闃熷垪銆?CODE>SendMQSpringJMS 榪樹細閫氳繃瀹冪殑 ClassPathXmlApplicationContext
瑁呭叆 spring in action 閰嶇疆鏂囦歡銆備竴鏃?bean 鍏ㄩ儴瑁呰澆錛屽氨鍙互閫氳繃 spring in action 鐨?ApplicationContext 鐨?getBean()
鏂規硶璁塊棶 JMSSender錛堣鍙傞槄娓呭崟 7錛夈?/P>
娓呭崟 7. 瑁呭叆紺轟緥搴旂敤紼嬪簭鐨?spring in action 閰嶇疆
|
娑堟伅浼犻掑埌闃熷垪涓婁箣鍚庯紝璇瘋繍琛?JMS 鎺ユ敹鏂瑰鎴鋒満浠ユ绱㈡秷鎭傝鎵撳紑鍛戒護鎻愮ず絎︼紝鍒囨崲鍒扮洰褰?SpringProject4錛屽茍杈撳叆錛?/P>
|
榪欎細鏋勫緩騫惰繍琛?ReceiveMQSpringJMS
綾伙紝璇ョ被浼氳皟鐢?JMSReceiver
綾伙紝浠ヤ粠 WebSphere MQ 鐨?RequestResponse
闃熷垪鎺ユ敹鏂囨湰娑堟伅銆傚湪鎺у埗鍙頒笂浼氭墦鍗板嚭浠ヤ笅娑堟伅錛?/P>
|
鍦?spring in action 緋誨垪鐨勬渶鍚庤繖綃囨枃绔犱腑錛屾偍瀛︿範浜?spring in action JMS 妗嗘灦鐨勫熀紜銆傛垜棣栧厛浠嬬粛浜嗙ず渚嬪簲鐢ㄧ▼搴忕殑鏍稿績緇勪歡 鈥斺?spring in action JMS 妗嗘灦鍜?IBM 鐨?WebSphere MQ 5.3錛岀劧鍚庝粙緇嶄簡濡備綍鐢?spring in action JMS 妯℃澘鍚?WebSphere MQ 闃熷垪鍙戦佹秷鎭拰浠庝腑鎺ユ敹娑堟伅銆傝櫧鐒惰繖涓ず渚嬮潪甯哥畝鍗曪紝浣嗘槸鍙互鎶婅繖閲屼粙緇嶇殑姝ラ搴旂敤鍒版洿澶嶆潅鐨勫簲鐢ㄧ▼搴忋?/P>
鎴戝笇鏈涗粙緇?spring in action 妗嗘灦鏍稿績妯″潡鐨勮繖涓緋誨垪瀵規偍鏈夋墍甯姪銆傝鍙傞槄 鍙傝冭祫鏂?/FONT> 瀛︿範鏇村鏈夊叧 spring in action 妗嗘灦鍜?spring in action JMS 鐨勫唴瀹廣?/P>
![]() |
|
鎻忚堪 | 鍚嶅瓧 | 澶у皬 | 涓嬭澆鏂規硶 |
---|---|---|---|
Example code, spring in action files, and build scripts | wa-spring4-SpringSeriesPart4JMS.zip | 17 KB | FTP |
![]() | ||||
![]() |
鍏充簬涓嬭澆鏂規硶鐨勪俊鎭?/FONT> | ![]() |
![]() |
鑾峰彇 Adobe廬 Reader廬 |
![]() |
|
spring in action 鐨?Web MVC 妗嗘灦鏄洿緇?DispatcherServlet
璁捐鐨勶紝瀹冩妸璇鋒眰鍒嗘淳緇欏鐞嗙▼搴忥紝鍚屾椂甯︽湁鍙厤緗殑澶勭悊紼嬪簭鏄犲皠銆佽鍥捐В鏋愩佹湰鍦拌璦銆佷富棰樿В鏋愪互鍙婁笂杞芥枃浠舵敮鎸併傞粯璁ょ殑澶勭悊紼嬪簭鏄潪甯哥畝鍗曠殑 Controller
鎺ュ彛錛屽彧鏈変竴涓柟娉?ModelAndView handleRequest(request, response)
銆係pring 鎻愪緵浜嗕竴涓帶鍒跺櫒灞傛緇撴瀯錛屽彲浠ユ淳鐢熷瓙綾匯傚鏋滃簲鐢ㄧ▼搴忛渶瑕佸鐞嗙敤鎴瘋緭鍏ヨ〃鍗曪紝閭d箞鍙互緇ф壙 AbstractFormController
銆傚鏋滈渶瑕佹妸澶氶〉杈撳叆澶勭悊鍒頒竴涓〃鍗曪紝閭d箞鍙互緇ф壙 AbstractWizardFormController
銆?/P>
紺轟緥搴旂敤紼嬪簭鏈夊姪浜庣洿瑙傚湴瀛︿範榪欎簺鐗規с傞摱琛屽簲鐢ㄧ▼搴忓厑璁哥敤鎴鋒绱粬浠殑甯愭埛淇℃伅銆傚湪鏋勫緩閾惰搴旂敤紼嬪簭鐨勮繃紼嬩腑錛屽彲浠ュ鍒板浣曢厤緗?spring in action MVC 妗嗘灦鍜屽疄鐜版鏋剁殑瑙嗗浘灞傦紝瑙嗗浘灞傚寘鎷?JSTL 鏍囪錛堢敤浜庢樉紺鴻緭鍑虹殑鏁版嵁錛夊拰JavaServer Pages 鎶鏈?BR>
瑕佸紑濮嬫瀯寤虹ず渚嬪簲鐢ㄧ▼搴忥紝璇烽厤緗?spring in action MVC 鐨?DispatcherServlet
銆傝鍦?web.xml 鏂囦歡涓敞鍐屾墍鏈夐厤緗傛竻鍗?1 鏄劇ず浜嗗浣曢厤緗?sampleBankingServlet
銆?/P>
娓呭崟 1. 閰嶇疆 spring in action MVC DispatcherServlet
|
DispatcherServlet
浠庝竴涓?XML 鏂囦歡瑁呭叆 spring in action 搴旂敤紼嬪簭涓婁笅鏂囷紝XML 鏂囦歡鐨勫悕縐版槸 servlet 鐨勫悕縐板悗闈㈠姞涓?-servlet 銆傚湪榪欎釜紺轟緥涓紝DispatcherServlet
浼氫粠 sampleBankingServlet-servlet.xml 鏂囦歡瑁呭叆搴旂敤紼嬪簭涓婁笅鏂囥?
涓嬩竴姝ユ槸閰嶇疆鎯寵 sampleBankingServlet
澶勭悊鐨?URL銆傚悓鏍鳳紝榪樻槸瑕佸湪 web.xml 涓敞鍐屾墍鏈夎繖浜涗俊鎭?/P>
|
涓嬮潰錛岃鍏ラ厤緗枃浠躲備負浜嗗仛鍒拌繖鐐癸紝璇蜂負 Servlet 2.3 瑙勮寖娉ㄥ唽 ContextLoaderListener
鎴栦負 Servlet 2.2 鍙婁互涓嬬殑瀹瑰櫒娉ㄥ唽 ContextLoaderServlet
銆備負浜嗕繚闅滃悗鍚戝吋瀹規э紝璇風敤 ContextLoaderServlet
銆傚湪鍚姩 Web 搴旂敤紼嬪簭鏃訛紝ContextLoaderServlet
浼氳鍏?spring in action 閰嶇疆鏂囦歡銆傛竻鍗?3 娉ㄥ唽浜?ContextLoaderServlet
銆?/P>
娓呭崟 3. 娉ㄥ唽 ContextLoaderServlet
|
contextConfigLocation
鍙傛暟瀹氫箟浜嗚瑁呭叆鐨?spring in action 閰嶇疆鏂囦歡錛屽涓嬮潰鐨?servlet 涓婁笅鏂囨墍紺恒?/P>
|
sampleBanking-services.xml 鏂囦歡浠h〃紺轟緥閾惰搴旂敤紼嬪簭鏈嶅姟鐨勯厤緗拰 bean 閰嶇疆銆傚鏋滄兂瑁呭叆澶氫釜閰嶇疆鏂囦歡錛屽彲浠ュ湪 <param-value>
鏍囪涓敤閫楀彿浣滃垎闅旂銆?BR>-------------------------------------------------------------------------------------------------------------------------
紺轟緥閾惰搴旂敤紼嬪簭鍏佽鐢ㄦ埛鏍規嵁鎯熶竴鐨?ID 鍜屽彛浠ゆ煡鐪嬪笎鎴蜂俊鎭傝櫧鐒?spring in action MVC 鎻愪緵浜嗗叾浠栭夐」錛屼絾鏄垜灝嗛噰鐢?JSP 鎶鏈綔涓鴻鍥鵑〉闈€傝繖涓畝鍗曠殑搴旂敤紼嬪簭鍖呭惈涓涓鍥鵑〉鐢ㄤ簬鐢ㄦ埛杈撳叆錛圛D 鍜屽彛浠わ級錛屽彟涓欏墊樉紺虹敤鎴風殑甯愭埛淇℃伅銆?/P>
鎴戜粠 LoginBankController
寮濮嬶紝瀹冩墿灞曚簡 spring in action MVC 鐨?SimpleFormController
銆?CODE>SimpleFormContoller 鎻愪緵浜嗘樉紺轟粠 HTTP GET
璇鋒眰鎺ユ敹鍒扮殑琛ㄥ崟鐨勫姛鑳斤紝浠ュ強澶勭悊浠?HTTP POST
鎺ユ敹鍒扮殑鐩稿悓琛ㄥ崟鏁版嵁鐨勫姛鑳姐?CODE>LoginBankController 鐢?AuthenticationService
鍜?AccountServices
鏈嶅姟榪涜楠岃瘉錛屽茍鎵ц甯愭埛媧誨姩銆傗?閰嶇疆瑙嗗浘灞炴?/FONT> 鈥濅竴鑺備腑鐨?娓呭崟 5 鎻忚堪浜嗗浣曟妸 AuthenticationService
鍜?AccountServices
榪炴帴鍒?LoginBankController
銆?娓呭崟 4 鏄劇ず浜?LoginBankController
鐨勪唬鐮併?/P>
涓嬮潰錛屾垜蹇呴』娉ㄥ唽鍦ㄦ帴鏀跺埌 HTTP GET
璇鋒眰鏃舵樉紺虹殑欏甸潰銆傛垜鍦?spring in action 閰嶇疆涓敤 formView
灞炴ф敞鍐岃繖涓〉闈紝濡傛竻鍗?5 鎵紺恒?CODE>sucessView 灞炴т唬琛ㄨ〃鍗曟暟鎹彁浜よ屼笖 doSubmitAction()
鏂規硶涓殑閫昏緫鎴愬姛鎵ц涔嬪悗鏄劇ず鐨勯〉闈€?CODE>formView 鍜?sucessView
灞炴ч兘浠h〃琚畾涔夌殑瑙嗗浘鐨勯昏緫鍚嶇О錛岄昏緫鍚嶇О鏄犲皠鍒板疄闄呯殑瑙嗗浘欏甸潰銆?/P>
娓呭崟 5. 娉ㄥ唽 LoginBankController
|
commandClass
鍜?commandName
鏍囪鍐沖畾灝嗗湪瑙嗗浘欏甸潰涓椿鍔ㄧ殑 bean銆備緥濡傦紝鍙互閫氳繃 login.jsp 欏甸潰璁塊棶 loginCommand
bean錛岃繖涓〉闈㈡槸搴旂敤紼嬪簭鐨勭櫥褰曢〉闈€備竴鏃︾敤鎴鋒彁浜や簡鐧誨綍欏甸潰錛屽簲鐢ㄧ▼搴忓氨鍙互浠?LoginBankController
鐨?onSubmit()
鏂規硶涓殑鍛戒護瀵硅薄媯绱㈠嚭琛ㄥ崟鏁版嵁銆?/P>
spring in action MVC 鐨?瑙嗗浘瑙f瀽鍣?/I> 鎶婃瘡涓昏緫鍚嶇О瑙f瀽鎴愬疄闄呯殑璧勬簮錛屽嵆鍖呭惈甯愭埛淇℃伅鐨?JSP 鏂囦歡銆傛垜鐢ㄧ殑鏄?spring in action 鐨?InternalResourceViewResolver
錛屽 娓呭崟 6 鎵紺恒?/P>
鍥犱負鎴戝湪 JSP 欏甸潰涓嬌鐢ㄤ簡 JSTL 鏍囪錛屾墍浠ョ敤鎴風殑鐧誨綍鍚嶇О瑙f瀽鎴愯祫婧?/jsp/login.jsp錛岃?viewClass
鎴愪負 JstlView
銆?/P>
灝卞儚鍓嶉潰鎻愬埌鐨勶紝LoginBankController
鍐呴儴榪炴帴浜?spring in action 鐨?AccountServices
鍜?AuthenticationService
銆?CODE>AuthenticationService 綾誨鐞嗛摱琛屽簲鐢ㄧ▼搴忕殑楠岃瘉銆?CODE>AccountServices 綾誨鐞嗗吀鍨嬬殑閾惰鏈嶅姟錛屼緥濡傛煡鎵句氦鏄撳拰鐢墊眹銆傛竻鍗?7 鏄劇ず浜嗛摱琛屽簲鐢ㄧ▼搴忕殑楠岃瘉鍜屽笎鎴鋒湇鍔$殑閰嶇疆銆?/P>
|
浠ヤ笂鏈嶅姟鍦?sampleBanking-services.xml 涓敞鍐岋紝鐒跺悗瑁呭叆 web.xml 鏂囦歡涓紝灝卞儚 鍓嶉潰璁ㄨ鐨勯偅鏍?/FONT>銆傛帶鍒跺櫒鍜屾湇鍔¢厤緗ソ鍚庯紝榪欎釜綆鍗曠殑搴旂敤紼嬪簭灝卞畬鎴愪簡銆傜幇鍦ㄦ垜浠潵鐪嬬湅閮ㄧ講鍜屾祴璇曞畠鏃朵細鍙戠敓浠涔?
-------------------------------------------------------------------------------------------------------------------------
鎴戞妸紺轟緥搴旂敤紼嬪簭閮ㄧ講鍦?Tomcat servlet 瀹瑰櫒涓俆omcat 鏄?Java Servlet 鍜?Java ServerPagest 鎶鏈殑瀹樻柟鍙傝冨疄鐜頒腑浣跨敤鐨?servlet 瀹瑰櫒銆傚鏋滀互鍓嶆病榪欎箞鍋氳繃錛岃 涓嬭澆 jakarta-tomcat-5.0.28.exe 騫惰繍琛屽畠鎶?Tomcat 瀹夎鍒拌嚜宸卞枩嬈㈢殑浠諱綍浣嶇疆錛屼緥濡?c:\tomcat5.0
銆?/P>
鎺ヤ笅鏉ワ紝涓嬭澆紺轟緥浠g爜 騫墮噴鏀懼埌椹卞姩鍣紙渚嬪 c:\ 錛変笂銆傚垱寤轟簡 spring in action 欏圭洰鐨勬枃浠跺す涔嬪悗錛屾墦寮瀹冨茍鎶?spring in action-banking 瀛愭枃浠跺す鎷瘋礉鍒?c:\tomvat5.0\webapps銆俿pring-banking 鏂囦歡澶規槸涓涓?Web 。妗堝Q岄噷闈㈠寘鍚?spring in action MVC 紺轟緥搴旂敤紼嬪簭銆俵ib 鏂囦歡澶瑰寘鍚簲鐢ㄧ▼搴忛渶瑕佺殑 spring in action 妗嗘灦銆佷笌Spring 鐩稿叧鐨?MVC 搴撲互鍙?JSTL 鏍囪搴撳拰 jar 鏂囦歡銆?/P>
瑕佸惎鍔?Tomcat 鏈嶅姟鍣紝璇蜂嬌鐢ㄤ互涓嬪懡浠わ細
cd bin C:\Tomcat 5.0\bin> catalina.bat start
Tomcat 搴斿綋鍚姩騫墮儴緗?spring in action MVC 紺轟緥搴旂敤紼嬪簭銆?BR>=================================================================================
瑕佹祴璇曞簲鐢ㄧ▼搴忥紝璇鋒墦寮 Web 嫻忚鍣紝鎸囧悜 http://localhost:tomcatport/springbanking 騫剁敤 Tomcat 鏈嶅姟鍣ㄥ疄闄呰繍琛岀殑绔彛鏇挎崲 tomcatport銆傚簲褰撶湅鍒板浘 1 鎵紺虹殑鐧誨綍灞忓箷銆傝緭鍏ョ敤鎴?ID 鈥渁dmin鈥濆拰鍙d護鈥減assword鈥濓紝騫舵寜涓嬬櫥褰曟寜閽傚叾浠栫敤鎴?ID 鎴栧彛浠や細閫犳垚鏉ヨ嚜楠岃瘉鏈嶅姟鐨勯敊璇?/P>
鍥?1. spring in action MVC 紺轟緥鐧誨綍灞忓箷
鐧誨綍鎴愬姛涔嬪悗錛屼細鐪嬪埌鍥?2 鎵紺虹殑甯愭埛緇嗚妭欏甸潰銆?/P>
鍥?2. spring in action MVC 紺轟緥甯愭埛緇嗚妭欏甸潰
================================================================================
鍦ㄤ笁閮ㄥ垎鐨?spring in action 緋誨垪 鐨勭涓夌瘒鏂囩珷涓紝鎴戜粙緇嶄簡 spring in action MVC 妗嗘灦鐨勭壒鎬с傛垜婕旂ず浜嗗浣曢厤緗拰寮鍙?spring in action MVC 搴旂敤紼嬪簭銆佸浣曢厤緗?spring in action MVC 鎺у埗鍣ㄥ拰鍚戝叾涓彃鍏ヤ緷璧栭」銆佸浣曠敤 JavaServer Pages 鎶鏈紑鍙戝簲鐢ㄧ▼搴忚鍥撅紝浠ュ強濡備綍鎶婅嚜宸辯殑欏甸潰涓?spring in action MVC 鐨勮鍥懼眰闆嗘垚銆傛葷粨榪欑瘒鏂囩珷鏃訛紝鎴戞紨紺轟簡濡備綍鍦?Tomcat servlet 瀹瑰櫒涓儴緗插簲鐢ㄧ▼搴忎互鍙婂浣曞湪嫻忚鍣ㄤ腑嫻嬭瘯瀹冦?/P>
璇風戶緇叧娉?spring in action 緋誨垪 鐨勪笅涓綃囨枃绔犮傚湪涓嬩竴綃囨枃绔犱腑錛屾垜灝嗕粙緇嶅浣曟妸鍩轟簬 JMS 鐨勫簲鐢ㄧ▼搴忎笌 spring in action 妗嗘灦闆嗘垚銆傚悓鏃訛紝璇峰弬闃?鍙傝冭祫鏂?/FONT> 瀛︿範鏇村鏈夊叧 spring in action 妗嗘灦鍜?spring in action MVC 鐨勫唴瀹廣?BR>=================================================================================
鎻忚堪 | 鍚嶅瓧 | 澶у皬 | 涓嬭澆鏂規硶 |
---|---|---|---|
Example source code, spring in action files, jar files | wa-spring3-SpringProjectPart3.zip | 1966 KB | FTP |
綰у埆: 涓駭 Naveen Balani , 鎶鏈灦鏋勫笀, Webify Solutions 2005 騫?10 鏈?13 鏃?/P> 鍦?Naveen Balani 鐨?spring in action 緋誨垪鐨勭 3 閮ㄥ垎涓紝瀛︿範濡備綍鐢?spring in action 妗嗘灦寮鍙戝熀浜?MVC 鐨?搴旂敤紼嬪簭銆?/BLOCKQUOTE> |
![]() | |
Naveen Balani 鎶婁粬鐨勫ぇ閮ㄥ垎鏃墮棿鑺卞湪璁捐鍜屽紑鍙戝熀浜?J2EE 鐨勬鏋跺拰浜у搧涓娿備粬涓?IBM developerWorks 鎾板啓浜嗗悇綾繪枃绔狅紝娑夊強鐨勪富棰樻湁 ESB銆丼OA銆丣MS銆乄eb 鏈嶅姟鏋舵瀯銆丆ICS銆丄XIS銆丏B2銆乆ML Extender銆乄ebSphere Studio銆丮QSeries銆丣ava 鏃犵嚎璁懼鍜?DB2 Everyplace for Palm銆丣2ME銆丮IDP銆丣ava-Nokia銆乂isual Studio .Net 浠ュ強鏃犵嚎鏁版嵁鍚屾銆傚彲浠ョ粰浠栧彂閭歡錛屼粬鐨勫湴鍧鏄細naveenbalani@rediffmail.com 銆?/P> |
![]() |
綰у埆: 涓駭 George Franciscus , 璐熻矗浜? Nexcel 2005 騫?11 鏈?03 鏃?/P> Struts Recipes 鐨勫悎钁楄?George Franciscus 灝嗕粙緇嶅彟涓涓噸澶х殑 Struts 鏁村悎紿嶉棬 鈥斺?榪欐鏄皢 Struts 搴旂敤紼嬪簭瀵煎叆 spring in action 妗嗘灦銆傝璺熼殢 George錛屼粬灝嗗悜鎮ㄥ睍紺哄浣曟敼鍙?Struts 鍔ㄤ綔錛屼嬌寰楃鐞?Struts 鍔ㄤ綔灝卞儚綆$悊 spring in action beans 閭f牱銆傜粨鏋滄槸涓涓寮虹殑 web 妗嗘灦錛岃繖涓鏋跺彲浠ユ柟渚垮湴鍒╃敤 spring in action AOP 鐨勪紭鍔褲?/BLOCKQUOTE> |
Spring鎻愪緵浜嗕竴涓彂閫佺數瀛愰偖浠剁殑楂樼駭鎶借薄灞傦紝瀹冨悜鐢ㄦ埛灞忚斀浜嗗簳灞傞偖浠剁郴緇熺殑涓浜涚粏鑺傦紝鍚屾椂璐熻矗浣庡眰嬈$殑浠h〃瀹㈡埛绔殑璧勬簮澶勭悊銆係pring閭歡鎶借薄灞傜殑涓昏鍖呬負org.springframework.mail銆傚畠鍖呮嫭浜嗗彂閫佺數瀛愰偖浠剁殑涓昏鎺ュ彛MailSender鍜?灝佽浜嗙畝鍗曢偖浠剁殑灞炴уfrom, to,cc, subject, text鐨勫煎璞″彨鍋歋impleMailMessage銆?
1銆佹垜浠畾涔変竴涓彂閫侀偖浠剁殑鎺ュ彛:OrderManager.java
2銆佹垜浠渶瑕佸璇ユ帴鍙h繘琛屽疄鐜扮殑鏂規硶:OrderManagerImpl.java
3銆乻pring閰嶇疆鍙戦乪mail鐨刟pplicationContext-email.xml
4銆佹渶鍚庨厤緗嚜宸辯殑jsp欏甸潰浠ュ強action
鍒版鎵鏈夌殑寮鍙戜互緇撴潫銆?BR>
Sring閭歡鎶借薄灞傜殑涓昏鍖呮槸錛歰rg.springframework.mail 鍖呫傚畠鍖呭惈鍙玀ailSender涓哄彂閫侀偖浠剁殑鏍稿績鎺ュ彛鍜屽寘鍚畝鍗曢偖浠跺睘鎬т緥濡俧rom,to,cc,subject,text鍙玈impleMailMessage鐨勫煎璞? 榪欎釜鍖呬篃鍖呭惈涓涓鏌ュ紓甯哥殑灞傛錛屽畠鏀寔涓涓洿楂樼駭鍒殑鎶借薄瓚呰繃浣庣駭鍒殑閭歡緋葷粺寮傚父浼撮殢鏍瑰紓甯稿瓨鍦∕ailException. 璇峰弬鑰僇avaDocs涓烘洿澶氱殑淇℃伅鏉傞偖浠跺紓甯稿眰嬈°?/P>
spring in action also provides a sub-interface of MailSender for specialized JavaMail features such as MIME messages, namely org.springframework.mail.javamail.JavaMailSender It also provides a callback interface for preparation of JavaMail MIME messages, namely org.springframework.mail.javamail.MimeMessagePreparator
Spring涔熸敮鎸佷竴涓狹ailSender鐨勪笓鐢ㄤ簬JavaMail鐗瑰緛渚嬪MIME娑堟伅瀛愭帴鍙o紝鍛藉悕涓簅rg.springframework.javamail.JavaMailerSener銆傚畠涔熸敮鎸佷竴涓負JavaMail MIME淇℃伅鐨勫噯澶囧洖璋冩帴鍙o紝鍛藉悕涓簅rg.springframework.mail.JavaMail.MimeMessagePreparator.