2012-06-20 105 views
-2

我试图从This site运行示例项目。 Jboss的用了开头的错误,但是当我输入路径春季页面重定向:找不到页面问题

http://localhost:8080/Spring3Hibernate/index

我得到的例外“的请求的资源不可用”。

我为spring-servlet.xml类是

<?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xmlns:lang="http://www.springframework.org/schema/lang" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:util="http://www.springframework.org/schema/util" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd 
     http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> 

    <context:annotation-config /> 
    <context:component-scan base-package="net.viralpatel.contact" /> 

    <bean id="jspViewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="viewClass" 
      value="org.springframework.web.servlet.view.JstlView" /> 
     <property name="prefix" value="/WEB-INF/jsp/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean> 

    <bean id="messageSource" 
     class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
     <property name="basename" value="classpath:messages" /> 
     <property name="defaultEncoding" value="UTF-8" /> 
    </bean> 
    <bean id="propertyConfigurer" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" 
     p:location="/WEB-INF/jdbc.properties" /> 

     <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 
     <property name="url" value="jdbc:mysql://192.168.101.163:3306/db_roseindia"/> 
     <property name="username" value="root"/> 
     <property name="password" value=""/> 

    </bean> 

    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="configLocation"> 
      <value>classpath:hibernate.cfg.xml</value> 
     </property> 
     <property name="configurationClass"> 
      <value>org.hibernate.cfg.AnnotationConfiguration</value> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">${jdbc.dialect}</prop> 
       <prop key="hibernate.show_sql">true</prop> 
      </props> 
     </property> 
    </bean> 

    <tx:annotation-driven /> 

    <bean id="transactionManager" 
     class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 


</beans> 

和web.xml是

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    id="WebApp_ID" version="2.5"> 
    <display-name>Spring3-Hibernate</display-name> 
    <welcome-file-list> 
     <welcome-file>list.html</welcome-file> 
    </welcome-file-list> 
    <servlet> 
     <servlet-name>spring</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>spring</servlet-name> 
     <url-pattern>/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

和控制器类是

package main.java.net.viralpatel.contact.controller; 

import java.util.Map; 

import main.java.net.viralpatel.contact.form.Contact; 
import main.java.net.viralpatel.contact.service.ContactService; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Controller; 
import org.springframework.validation.BindingResult; 
import org.springframework.web.bind.annotation.ModelAttribute; 
import org.springframework.web.bind.annotation.PathVariable; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 

@Controller 
public class ContactController { 

    @Autowired 
    private ContactService contactService; 

    @RequestMapping("/index") 

    public String listContacts(Map<String, Object> map) { 

     System.out.println("In Index method"); 

     map.put("contact", new Contact()); 
     map.put("contactList", contactService.listContact()); 

     return "contact"; 
    } 

    @RequestMapping(value = "/add", method = RequestMethod.POST) 
    public String addContact(@ModelAttribute("contact") 
    Contact contact, BindingResult result) { 
     System.out.println("in ADD method"); 

     contactService.addContact(contact); 

     return "redirect:/index"; 
    } 

    @RequestMapping("/delete/{contactId}") 
    public String deleteContact(@PathVariable("contactId") 
    Integer contactId) { 

     System.out.println("IN delete method"); 

     contactService.removeContact(contactId); 

     return "redirect:/index"; 
    } 
} 

,当我尝试运行项目我得到了

10:33:25,415 WARN [PageNotFound] No mapping found for HTTP request with URI [/Spring3Hibernate/index] in DispatcherServlet with name 'spring' 

在库文件夹中,我有这些罐子

enter image description here

和构建路径,我有 enter image description here

我的pom.xml的是

<?xml version="1.0" encoding="UTF-8"?><project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>Spring3HibernateMaven</groupId> 
    <artifactId>Spring3HibernateMaven</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <description></description> 
    <build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <configuration> 
      <source>1.5</source> 
      <target>1.5</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.0</version> 
     </plugin> 
    </plugins> 
    </build> 
    <dependencies> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>3.3.2.ga</version> 
    </dependency> 
    <!-- dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.4.2</version> 
    </dependency --> 
    <dependency> 
     <groupId>taglibs</groupId> 
     <artifactId>standard</artifactId> 
     <version>1.1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.10</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-dbcp</groupId> 
     <artifactId>commons-dbcp</artifactId> 
     <version>20030825.184428</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-pool</groupId> 
     <artifactId>commons-pool</artifactId> 
     <version>20030825.183949</version> 
    </dependency> 
    </dependencies> 
    <properties> 
    <org.springframework.version>3.0.2.RELEASE</org.springframework.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
</project> 

我会有那么多感谢你宝贵的时间和帮助。 我使用eclipes 3.4和JBoss 4.2

+0

@Shahzeb:我做了一个新的基于web的项目,并将其重命名为Spring3Hibernate(从项目名称中删除mavem)我在JBoss 4.2.0中使用Eclipse 3.4.0 – Shahzeb

+0

@Shahzeb我添加了我的pom.xml,我做了更改运行该项目;“是的,我是shahzeb,我存在;)” – Shahzeb

+0

@Shahzeb我没有使用Maven,我已经下载了这个项目,并简单地将它的文件复制到一个新的“动态Web项目”。我更改artifictId到Spring3Hibernate(删除Maven),但仍然没有运气.. – Shahzeb

回答

0

在从那里你正在服用的代码,servlet映射在web网站.xml是这样完成的。

<servlet-mapping> 
        <servlet-name>spring</servlet-name> 
        <url-pattern>/</url-pattern> 
 </servlet-mapping> 

在你的代码,您已经发布了高于其像

<url-pattern>/*</url-pattern> 

URL模式是指:

/ by itself is the default servlet called if there are no other matches. 

/* mapping in web.xml it answers all requests except other path mappings. 

检查并使用你真正想要的。

+0

我尝试过“/”,但没有成功,然后我将它改为/ *(尝试),但是应用程序没有运行。 – Shahzeb

+0

你可以用/Spring3Hibernate/*来尝试。 –

+0

它没有工作,甚至没有得到有关页面的警告没有找到。 – Shahzeb

0

http://localhost:8080/Spring3Hibernate/indexhttp://localhost:8080/Spring3-Hibernate/index

,请确认您的上下文路径是正确的

+0

我右键单击Project并选择RunAs(在服务器上运行),生成的路径是(http:// localhost:8080/Spring3Hibernate /)我添加了索引,但没有运气。 – Shahzeb

0

试试这个 在类级别指定RequestMapping作为

@Controller 
@RequestMapping("/contact") 
public class ContactController 

然后在方法级别指定

@RequestMapping(value = "/list", method = RequestMethod.GET) 
public String listContacts(Map<String, Object> map) 

现在尝试的URL为

的“http://本地主机: 8080/Spring3Hibernate/contact/list“