บทช่วยสอนง่ายๆเกี่ยวกับการเริ่มต้นใช้งาน
ซอร์สโค้ดของอินสแตนซ์นี้และขวดในอินสแตนซ์
ซอร์สโค้ด: http://xiazai.vevb.com/201612/yuanma/springmvc_jb51.zip
โถที่จำเป็น: http://xiazai.vevb.com/201612/yuanma/springmvcjar_jb51.zip
บทความอื่นเกี่ยวกับการอัปโหลดไฟล์ SpringMvc, การอัปโหลดมัลติไฟล์: //www.vevb.com/article/100491.htm
ตัวอย่างของการกำหนดค่าคำอธิบายประกอบอย่างง่าย:
1. สร้างโครงการ:
1. สร้างโครงการเว็บแบบไดนามิกใหม่:
2. ชื่อโครงการ: SpringMVC_01
3. เพิ่มสภาพแวดล้อมรันไทม์ Tomcat/ห้องสมุดการพึ่งพาอาศัยกัน หากเป็น myeclipse ขั้นตอนนี้ไม่จำเป็นเมื่อสร้างโครงการเว็บ
คลิกขวาที่โครงการและคลิก Build Path-> เพิ่มไลบรารี:
หลังจากเพิ่มจะมีแพ็คเกจ Servlet Tomcat เพิ่มเติม
4. ในที่สุดเพิ่มขวดที่จำเป็นสำหรับ Spring และ SpringMVC และฉันเพิ่มขวดต่อไปนี้ลงในโครงการ
2. ไฟล์กำหนดค่า:
1. ก่อนกำหนดค่า dispatcherservlet ใน web.xml และระบุ URL ที่ต้องสกัดกั้นผ่าน <servlet-mapping> XML ต่อไปนี้กำหนดค่า URL ที่สกัดกั้นด้วย suffixed.html
<!-กำหนดค่าสปริง MVC dispatcherservlet-> <servlet> <servlet-name> mvc </servlet-name> <servlet-lass> org.springframework.web.servlet.dispatcherservlet </servlet-class> <! <param-name> contextconfiglocation </param-name> <param-value> /web-inf/classes/mvc**.* </param-value> </init-param> <load-on-startup> 1 </load-on-startup> </servlet> <! <servlet-name> mvc </servlet-name> <url-pattern>*. html </url-pattern> </servlet-mapping>
ก่อนกำหนด servlet จากนั้นโหลดไฟล์ SpringMVC XML ลงในบริบทสปริง จากนั้นกำหนดค่า servlet-mapping, servlet-name เป็นชื่อที่กำหนดค่าใน servlet ตอนนี้จากนั้นระบุว่า url ที่จะดักจับคือ *.html
2. กำหนดค่าฟังก์ชั่นของสปริงและระบุเส้นทางไปยังไฟล์การกำหนดค่า XML ของ Spring
<!-ฟังคอนเทนเนอร์บริบทสปริง-> <ผู้ฟัง> <Sistener-Lass> org.springframework.web.context.contextloaderListener </listener-class> </listener> <! <param-value> classpath: root-context.xml </param-value> </context-param>
PATH classPath ที่ระบุไว้ที่นี่อยู่ในไฟล์ classpath หลังจากรวบรวมโครงการ
เนื้อหาไฟล์ web.xml สุดท้าย:
<? xml เวอร์ชัน = "1.0" การเข้ารหัส = "utf-8"?> <web-app version = "3.0" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://ww.w3.org/200 XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_3 Listener> <Sistener-Class> org.springFramework.web.context.contextloaderListener </listener-class> </listener> <!-การโหลดไฟล์การกำหนดค่า XML ของสปริงลงในคอนเทนเนอร์บริบทของสปริง-> <context-param> </context-param> <!-กำหนดค่าสปริง MVC dispatcherservlet-> <servlet> <servlet-name> mvc </servlet-name> <servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <! <param-name> contextconfiglocation </param-name> <param-value> /web-inf/classes/mvc**.* </param-value> </init-param> <load-on-startup> 1 </load-on-startup> </servlet> <! <servlet-name> mvc </servlet-name> <url-pattern>*. html </url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file> index.html </elcome-file>
3. สร้างไฟล์ XML ที่จำเป็นสำหรับ SpringMVC และไฟล์ XML ของ ApplicationContext ที่นี่เนื่องจากรูปแบบที่จำเป็นสำหรับ init-param ใน servlet ที่กำหนดค่าในขั้นตอนแรกคือ: mvc*.* มันคือการค้นหาไฟล์ที่ขึ้นต้นด้วย MVC ดังนั้นเมื่อสร้างไฟล์ XML ของ SpringMVC ฉันต้องเริ่มต้นด้วย MVC ฉันตั้งชื่อมัน: mvc-context.xml และตามการกำหนดค่าในบริบท-พารามชื่อไฟล์ ApplicationContext: root-context.xml;
4. กำหนดค่า mvc- context.xml:
ครั้งแรกที่นำเข้ารูท context.xml ผ่านแท็กนำเข้าจากนั้นสแกนชื่อแพ็คเกจที่ระบุผ่านแท็กคอมโพเนนต์-สแกนเพื่อสร้างคำอธิบายประกอบฤดูใบไม้ผลิของคลาส Java ทั้งหมดภายใต้แพ็คเกจจะมีผล
จากนั้นกำหนดค่าตัวแยกวิเคราะห์การแสดงผลมุมมองของ SpringMVC เพื่อให้คำนำหน้าคือ/หน้า/และคำต่อท้ายของมันคือ. jsp เพื่อให้เส้นทางที่ SpringMVC ต้องการในการเรนเดอร์สามารถพบได้ใน/page/return value.jsp
<!-ไฟล์การกำหนดค่าส่วนกลางของสปริงของสปริง-> <ถั่ว: import Resource = "root-context.xml" /> <!-การกำหนดค่า SpringMVC-> <!-ให้สปริงสปริงทุกคลาสภายใต้ org.swinglife.Controller ผ่านส่วนประกอบ-สแกน base-package = "org.swinglife.controller"> </บริบท: Component-scan> <!-กำหนดค่าการแสดงผลมุมมองของ SpringMvc พร้อมคำนำหน้าเป็น:/page/และคำต่อท้ายเป็น. jsp แสดงมุมมองไปที่/หน้า/<
ในที่สุด mvc-context.xml และ root-context.xml คือ:
mav-context.xml:
<? xml เวอร์ชัน = "1.0" การเข้ารหัส = "utf-8"?> <ถั่ว: ถั่ว xmlns = "http://www.springframework.org/schema/mvc" xmlns: xsi = "http://ww.w3.org/2001/2001/200 xmlns: beans = "http://www.springframework.org/schema/beans" xmlns: p = "http://www.springframework.org/schema/p" xmlns: aop = "http: httpm: http: http: http xmlns: context = "http://www.springframework.org/schema/context" xsi: schemalocation = "http://www.springframework.org/schema/mvc http://www.springframework http://www.springframework.org/schema/aop http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> <! คลาสทั้งหมดภายใต้ org.swinglife.Controller ผ่านส่วนประกอบ-สแกนเพื่อสร้างคำอธิบายประกอบรหัสของฤดูใบไม้ผลิมีผล-> <บริบท: ส่วนประกอบ-สแกนฐานแพคเกจ = "org.swinglife.Controller"> </ บริบท: ส่วนประกอบ-สแกน> <!-กำหนดค่ามุมมองของ SpringMvc แสดงมุมมองลงใน/page/<วิธีการส่งคืนวิธีการ> .jsp-> <ถั่ว: ถั่ว p: คำนำหน้า = "/หน้า/" p: คำต่อท้าย = ". jsp"> </epe: beans> beans>
root-context.xml:
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://ww.w3.org/2001/xml xmlns: context = "http://www.springframework.org/schema/context" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/tx/spring-tx-3.2.xsd "> <!-บริบทรูท: กำหนดทรัพยากรที่ใช้ร่วมกันซึ่งมองเห็นได้
3. เขียนคอนโทรลเลอร์
1. สร้างแพ็คเกจ org.swinglife.Controller เพื่อจัดเก็บคลาสคอนโทรลเลอร์แล้วสร้าง homecontroller.java ใหม่เพื่อเขียนคอนโทรลเลอร์บนหน้าแรก
2. ใช้คำอธิบายประกอบ @Controller เพื่อกำหนดคลาส homecontroller เป็นคอนโทรลเลอร์และใช้ @requestmapping ("ค่า") เพื่อระบุเส้นทางหรือชื่อวิธีการเข้าถึงในวิธีการ SpringMVC สามารถแปลง POJO เป็นคอนโทรลเลอร์ที่จัดการคำขอผ่านคำอธิบายประกอบ @Controller และระบุว่าต้องการคำขอใดสำหรับคอนโทรลเลอร์ผ่าน @requestmapping
@Controller คลาสสาธารณะ homecontroller { /**** หน้าแรกกลับไปที่ /page/home.jsp หน้า* @return* /@requestmapping ("ดัชนี") ดัชนีโมเดลสาธารณะ และระบุว่าหน้าเว็บที่จะส่งคืนคือโฮมเพจโมเดลและวิวทิวทัศน์ mav = ใหม่และใหม่ ("บ้าน"); กลับมา mav; -วัตถุ ModelAndView ถูกกำหนดไว้ในวิธีการ ผ่านวัตถุนี้มุมมองที่จะแสดงผลถูกระบุเป็นบ้านและในที่สุดก็ส่งคืน ModelandView แสดงหน้าเข้าสู่ home.jsp
3. ในที่สุดสร้าง /page/home.jsp ในไดเรกทอรีเว็บคอนติเทนเพื่อให้ SpringMVC สามารถค้นหาและแสดงภาพหน้าดู
<%@ page language = "java" contentType = "ข้อความ/html; charset = gb18030" pageencoding = "gb18030"%> <! doctype html สาธารณะ "-// w3c // dtd html 4.01 transitional // en" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv = "content-type" เนื้อหา = "ข้อความ/html; charset = gb18030" </html>
ตอนนี้มีการสร้างโหมด SpringMVC ที่สมบูรณ์แล้วคุณสามารถเรียกใช้โครงการสำหรับการทดสอบ
4. เขียนการส่งและการส่งพารามิเตอร์:
1. เขียนคลาส USERCONTROLLER ใหม่เพื่อสมมติว่าผู้ใช้เข้าสู่ระบบส่งชื่อผู้ใช้และรหัสผ่านไปยังคอนโทรลเลอร์สำหรับการประมวลผลและหลังจากเข้าสู่ระบบชื่อผู้ใช้และรหัสผ่านจะถูกส่งผ่านไปยังหน้าสำเร็จ
สร้าง usercontroller.java
สร้าง /page/succ.jsp หน้าเป็นหน้าเข้าสู่ระบบของผู้ใช้
รหัสใน userController:
@Controller คลาสสาธารณะ userController { /**** การเข้าสู่ระบบผู้ใช้* <p> การกำหนดค่าคำอธิบายประกอบการโพสต์เท่านั้นที่ได้รับอนุญาตให้ส่งไปยังวิธีนี้* @param ชื่อผู้ใช้* @param รหัสผ่าน* @return* /@requestmapping (value = "login", method = requestmethod.post) ไปยังหน้าเข้าสู่ระบบ if (this.checkparams (สตริงใหม่ [] {ชื่อผู้ใช้, รหัสผ่าน})) {// ระบุหน้าที่จะส่งคืนเป็น succ.jsp modelandview mav = new modelandView ("succ"); // ส่งคืนพารามิเตอร์ไปยังหน้า mav.addobject ("ชื่อผู้ใช้" ชื่อผู้ใช้); mav.addobject ("รหัสผ่าน", รหัสผ่าน); กลับมา mav; } ส่งคืน modelandview ใหม่ ("home"); } / **** ตรวจสอบว่าพารามิเตอร์ว่างเปล่า* @param params* @return* / private boolean checkparams (สตริง [] พารามิเตอร์) {สำหรับ (พารามิเตอร์สตริง: พารามิเตอร์) {ถ้า (param == "" || param == null || param.isempty ()) }} ส่งคืนจริง; - ก่อนอื่นระบุ @controller จากนั้นระบุ @requestmapping เป็นวิธีการเข้าสู่ระบบ
ควรสังเกตว่าในเวลานี้โหมดวิธีการหน้าจะถูกระบุใน @requestmapping ว่าโหมดวิธีการของหน้าต้องเป็นโหมดโพสต์มิฉะนั้นจะไม่สามารถเข้าถึงได้ ประการที่สองพารามิเตอร์ค่าระบุเส้นทางการเข้าถึง
และตั้งค่าพารามิเตอร์ในวิธีการเข้าสู่ระบบและพารามิเตอร์คือแอตทริบิวต์ชื่อในรูปแบบ
จากนั้นเพิ่มพารามิเตอร์ลงในคำขอผ่านวิธี Addobject ของ ModelandView เพื่อให้พารามิเตอร์เหล่านี้สามารถแสดงในหน้าส่งคืน
มีวิธีอื่นในการส่งพารามิเตอร์ลงในหน้านอกเหนือจากนี้:
/**** พารามิเตอร์รูปแบบอื่นที่ผ่าน* ประมวลผลพารามิเตอร์ที่ร้องขอ * @param username * @param password * @param Request * @return */ @requestmapping (value = "เข้าสู่ระบบ", method = requestmethod.post) โมเดลสาธารณะและการเข้าสู่ระบบ (ชื่อผู้ใช้สตริงรหัสผ่านสตริง request.setAttribute ("รหัสผ่าน", รหัสผ่าน); ส่งคืน ModelandView ใหม่ ("succ"); -วิธีการข้างต้นใช้โดยตรงโดยการเพิ่มพารามิเตอร์ลงในคำขอ
2. หน้าเขียน succ.jsp หน้าและหน้าแบบฟอร์ม:
succ.jsp:
<body> <h2> เข้าสู่ระบบ </h2> ชื่อผู้ใช้: $ {username} <p> รหัสผ่าน: $ {รหัสผ่าน} </body> แบบฟอร์ม: <form action = "login.html" method = "post"> ชื่อผู้ใช้: <อินพุต type = "text" name = "username"/>> <p> </form> 3. ในที่สุดก็เรียกใช้โครงการเพื่อทดสอบ:
ตกลงเสร็จแล้ว ข้างต้นเป็นตัวอย่างที่ค่อนข้างง่ายของ SpringMVC
ในซอร์สโค้ดที่กำหนดมีวิธีอื่นที่จะใช้สตริงโดยตรงเป็นค่าส่งคืนเพื่อระบุหน้าจอแสดงผล
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น