I took the newly created maven webapp project and want to make the simplest mvc application with it. my environment looks like this:
<artifactId>spring-core</artifactId> <artifactId>spring-test</artifactId> <artifactId>spring-beans</artifactId> <artifactId>spring-context</artifactId> <artifactId>spring-aop</artifactId> <artifactId>spring-context-support</artifactId> <artifactId>spring-tx</artifactId> <artifactId>spring-orm</artifactId> <artifactId>spring-web</artifactId> <artifactId>spring-webmvc</artifactId> <artifactId>spring-asm</artifactId> <artifactId>log4j</artifactId> <artifactId>hibernate-core</artifactId> <artifactId>hibernate-cglib-repack</artifactId> <artifactId>hsqldb</artifactId> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <scope>provided</scope> </dependency> <spring.version>3.0.5.RELEASE</spring.version> <hibernate.version>3.6.1.Final</hibernate.version> <hibernate-cglig-repack.version>2.1_3</hibernate-cglig-repack.version> <log4j.version>1.2.14</log4j.version> <javax-servlet-api.version>2.5</javax-servlet-api.version> <hsqldb.version>1.8.0.10</hsqldb.version> <mysql-connector.version>5.1.6</mysql-connector.version> <slf4j-log4j12.version>1.5.2</slf4j-log4j12.version> <slf4j-api.version>1.5.8</slf4j-api.version> <javaassist.version>3.7.ga</javaassist.version> <taglibs.version>1.1.2</taglibs.version> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1-beta-1</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> <finalName>admin-webapp</finalName> </build> <profiles> <profile> <id>endorsed</id> <activation> <property> <name>sun.boot.class.path</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <compilerArguments> <bootclasspath>${settings.localRepository}/javax/javaee-endorsed-api/6.0/javaee-endorsed-api-6.0.jar${path.separator}${sun.boot.class.path}</bootclasspath> </compilerArguments> </configuration> <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-endorsed-api</artifactId> <version>6.0</version> </dependency> </dependencies> </plugin> </plugins> </build> </profile> </profiles> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <netbeans.hint.deploy.server>Tomcat60</netbeans.hint.deploy.server> <tomcat.home>${env.CATALINA_HOME}</tomcat.home> <web.context>${project.artifactId}</web.context> </properties>
my applicationContext is as simple as:
<context:component-scan base-package="com.personal.springtest.admin.webapp" /> <mvc:annotation-driven />
web.xml is so simple:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <session-config> <session-timeout> 30 </session-timeout> </session-config> <servlet> <servlet-name>iwadminservlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/project-admin-webapp-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>iwadminservlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
my controller is the same:
@Controller public class HomeController { @RequestMapping(value="/") public String Home(){ System.out.print("THIS IS a demo mvc, i think i like it");
My opinion:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ page session="false" %> <!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=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Hello World!</h1> </body> </html>
The error I get is
org.apache.jasper.JasperException: Absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved either in the web.xml file or in jar files deployed with this application
Question 1 : I wonder if this is related to the versions I use, I think I read something about the supported version in tomcat, and the java ee version used.don 't really get a way out of this to fix my problem. How can i fix this?
Question 2 : before this error I had code 400, because I did not point it to views/home.jsp correctly, but I noticed that when I launch the application in netbeans, it opens a browser with the address: http: // localhot: 8080 / , while I was expecting http: // localhost: 8080 / admin-webapp / admin-webapp is the name of my war. I think this is a problem, and I would like to address it.
java spring-mvc tomcat jstl
black sensei
source share