की बजाय स्ट्रिंग लौटने रखता है मैं पूरे स्प्रिंग फ्रेमवर्क को समझने की कोशिश कर रहा हूं। मेरे ज्ञान के लिए, ग्रेडल का उपयोग करने की अपेक्षाकृत नई तकनीकें ऑनलाइन ट्यूटोरियल और पोस्ट को बहुत पुरानी बनाती हैं?स्प्रिंग जेएसपी/एचटीएमएल सामग्री
जब मैं एक जेएसपी या एचटीएमएल पेज प्रदर्शित करने का प्रयास करता हूं तो मुख्य मुद्दा यह है कि वेबपृष्ठ का बॉडी टेक्स्ट दिखाता है: "filename.jsp"।
यह परियोजना नई-> अन्य-> स्प्रिंग स्टार्टर प्रोजेक्ट द्वारा ग्रैडल और एसटीएस 3.7 का उपयोग करके बनाई गई थी। लक्ष्य एमवीसी पैटर्न का उपयोग कर एक वेब अनुप्रयोग बनाना है।
फ़ोल्डर संरचना:
टेस्ट
--Spring तत्वों (एसटीएस द्वारा बनाई गई)
--src/मुख्य/जावा
++ - टेस्ट
+++ + - TestApplication.java (एसटीएस द्वारा निर्मित)
++ - टेस्ट। नियंत्रक
++++ - जेएसपी नियंत्रक.जावा
--sec/मुख्य/संसाधनों
++ - application.properties (एसटीएस द्वारा बनाई गई, खाली फ़ाइल)
--src/मुख्य/webapp (** मैं इस निर्देशिका बनाया है, लेकिन है इस आवश्यक)
++ - वेब-INF
++++ - home.jsp
++++ - home.html
++++ - web.xml (** अतिरिक्त नीचे प्रश्न)
TestApplication.java
package TEST;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
home.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test</title>
</head>
<body>
<h1>Test 1</h1>
<form>
First name:<br> <input type="text" name="firstname"> <br>
Last name:<br> <input type="text" name="lastname">
</form>
</body>
</html>
JSPController.java
package TEST.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class JSPController {
@RequestMapping(value = "/jsp", method = RequestMethod.GET)
public String home(){
return "/webapp/WEB-INF/home.jsp";
}
}
web.xml
//empty file right now
build.gradle
buildscript {
ext {
springBootVersion = '1.2.5.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("io.spring.gradle:dependency-management-plugin:0.5.1.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'io.spring.dependency-management'
jar {
baseName = 'TEST'
version = '0.0.1-SNAPSHOT'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
eclipse {
classpath {
containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8'
}
}
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
जब मैं http://localhost:8080/jsp पर जाते हैं, html पृष्ठ शरीर है: /webapp/WEB-INF/home.jsp
तो jsp बिल्कुल दिखाई नहीं दे रहा। मैंने एचटीएमएल की कोशिश की है और विधि के बिना या request =ethodMethod.GET/POST। कुछ भी काम नहीं करता है।
** अतिरिक्त प्रश्न: कई ऑनलाइन पोस्ट/ट्यूटोरियल .xml फ़ाइलों में जाता है, उदाहरण के लिए, web.xml। मेरी समझ के लिए, इन्हें अब आवश्यक या आवश्यक नहीं है क्योंकि वसंत + ग्रेडल स्वचालित रूप से @notations से .xml उत्पन्न करता है?
तेज प्रतिक्रिया के लिए धन्यवाद, लेकिन जब मैं इसे @ नियंत्रक में बदलता हूं, तो मुझे ब्राउज़र पर एक त्रुटि मिल रही है: व्हाइटेलबेल त्रुटि पृष्ठ। एक अनपेक्षित त्रुटि थी (प्रकार = नहीं मिला, स्थिति = 404)। – JustAName
अब आपको एक और समस्या है! :) चूंकि आप स्प्रिंग बूट का उपयोग कर रहे हैं, इसलिए आपके विचार निर्देशिका 'src/main/resource/templates'' के अंतर्गत रखा जाना चाहिए, इसलिए आपको निर्देशिका 'src/main/webapp' की आवश्यकता नहीं है। मैं यह भी सुझाव देता हूं कि आप अपनी दृश्य तकनीक के रूप में जेएसपी का उपयोग न करें (खासकर जब वसंत-बूट के साथ जोड़ा जाता है)। कृपया यहां संदर्भ मार्गदर्शिका पढ़ें: http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-spring-mvc-template-engines –
धन्यवाद। मैं अब रेफरी गाइड पढ़ रहा हूँ। उन्होंने एक pom.xml बनाने का उल्लेख किया। जो मुझे ऊपर दिए गए अतिरिक्त प्रश्न पर वापस लाता है। क्या मुझे pom.xml या किसी भी .xml ईवेंट बनाने की ज़रूरत है, क्या मैं धीरे-धीरे निर्माण कर रहा हूं? – JustAName