2016-01-29 25 views
0

這是EMP-servlet.xml中流不被髮送到控制器在彈簧MVC與休眠

<?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:p="http://www.springframework.org/schema/p" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 
    <context:component-scan base-package="com.cgi.controller"/> 
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/WEB-INF/JSPS/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean>     
    <bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://localhost:3306/tutorial" /> 
    <property name="username" value="root" /> 
    <property name="password" value="tiger" /> 
    </bean> 
    <bean id="mysessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="ds"></property> 
    <property name="mappingResources"> 
     <list><value>Employee.hbm.xml</value></list> 
    </property> 
    <property name="hibernateProperties"> 
     <props> 
     <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
     <prop key="hibernate.hbm2ddl.auto">update</prop> 
     <prop key="hibernate.show_sql">true</prop>  
     </props> 
    </property> 
    </bean> 
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> 
     <property name="sessionFactory" ref="mysessionFactory"/> 
    </bean> 
    <bean id="LoginDao" class="com.cgi.dao.LoginDaoImpl"> 
     <property name="ht" ref="hibernateTemplate"></property> 
    </bean> 
</beans> 

這是在web.xml;

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
    <display-name>Login Example</display-name> 
    <welcome-file-list> 
    <welcome-file>Login-Form.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <servlet-name>emp</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/Controller-servlet.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>emp</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 
    <context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/emp-servlet.xml</param-value> 
    </context-param> 
    <listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 
</web-app> 

這是我的控制器封裝com.cgi.controller;

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.servlet.ModelAndView; 

import com.cgi.beans.Employee; 
import com.cgi.dao.LoginDaoImpl; 

import java.util.*; 

@Controller 
public class EmployeeController 
{ 
    LoginDaoImpl d; 

    @RequestMapping(value="/Check", method=RequestMethod.POST) 
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception 
    { 
     String name=request.getParameter("username"); 
     String password=request.getParameter("pass"); 
     List<Employee> b=(List<Employee>) d.checkuser(name, password); 
     System.out.println("Hello"); 
     Map m=new HashMap(); 
     m.put("msg", "Hello"+name); 

     if(b.size()>0) 
     { 
      return new ModelAndView("Success",m); 
     } 
     else 
     { 
      return new ModelAndView("Fail"); 
     } 
    } 

    @RequestMapping(value="/GetAll", method = RequestMethod.POST) 
    public ModelAndView getAll(HttpServletRequest request, HttpServletResponse response) throws Exception 
    { 
     List<Employee> l=d.getall(); 

     Map m=new HashMap(); 
     m.put("msg", l); 
     return new ModelAndView("AllUsers",m); 
    } 

    @RequestMapping("/Register.htm") 
    public ModelAndView register(HttpServletRequest req, HttpServletResponse resp) throws Exception 
    { 
     ApplicationContext ax=new ClassPathXmlApplicationContext("emp-servlet.xml"); 

     Employee e=(Employee)ax.getBean("d"); 
     d.save(e); 

     return new ModelAndView("AllUsers"); 
    } 
} 

這是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>Login Form</title> 

</head> 
<body> 

<form method="post" action="/emp/Check"> 
<center> 
<pre> 

User-Name: <input id="name" type="text" name="username" required ><br> 
Password: <input id="pswd" type="password" name="pass" required><br> 

<input type="submit" value="Submit"><br> 

</pre> 
</center> 
</form> 
</body> 
</html> 

的問題是,從JSP是noyt將我的控制器,雖然我有權利映射方案web.xml。我檢查了我的網站,但他們都顯示相同。如果有人可以在他們的系統上運行並檢查它,請儘快恢復。

錯誤報告。

SEVERE:Servlet.service()用於上下文中的servlet [emp] [/ Employee_Management_Tool]拋出異常[Request processing failed;嵌套的異常是在com.cgi.controller.EmployeeController.handleRequest(EmployeeController.java:28) 顯示java.lang.NullPointerException]與根源 顯示java.lang.NullPointerException 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.web.bind。 annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710) 在org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167) 在org.springframework.web.servlet.mv c.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod在org.springframework.web.servlet.DispatcherServlet在org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402)(AnnotationMethodHandlerAdapter.java:414) 。 doDispatch在(DispatcherServlet.java:771) 在org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) 在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563) at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) at javax.servlet.http.HttpServlet.service(HttpServlet。 java:729) at org.apac he.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter。的doFilter(WsFilter.java:52) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 在org.apache.catalina.authenticator.AuthenticatorBase。調用(AuthenticatorBase.java:502) at org.apache.catalin a.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve。的java:79) 在org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 在org.apache。 catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol。 java:674) at org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1500) at org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java: 1456) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(來源不明) 在org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61) 在java.lang.Thread.run(未知源)

+1

檢查烏爾日誌是U越來越像: 沒有映射找到HTTP請求與URI [/ registrationModule /ⅩⅩⅩⅩ]在DispatcherServlet的名稱爲「XXXX」 –

回答

1
  1. 檢查您的jsp文件是否在'/ WEB-INF/JSPS /'文件夾中。
  2. 檢查你的web.xml,有兩次提到'contextConfigLocation'。見下文

    <servlet> 
    <servlet-name>emp</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
        <param-name>contextConfigLocation</param-name> 
        <param-value>/WEB-INF/Controller-servlet.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    

,並再次與另一個值

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/emp-servlet.xml</param-value> 
    </context-param> 

我覺得你應該刪除第二個和糾正第一個同值「/ WEB-INF/EMP-servlet.xml中」。

  • 檢查烏爾在JSP行動 '行動=「/ EMP /檢查',就應該像 '行動=檢查'
  • +0

    登錄-form.jsp是在網頁內容,這是成功頁面是在JSPS文件夾的視圖是所述的。第二和第三點我得到了,我糾正了它,這個錯誤現在顯示 –

    +0

    我沒有正確的,如果你可以添加錯誤的完整stacktrace好,請檢查下面的鏈接在stckoverflow,如果這將有助於' http://stackoverflow.com/questions/23 22031 /爲什麼 - 做 - servlet的服務換servlet的JSP拋出,這-例外」。 –

    +0

    login-form.jsp位於Web內容中,成功頁面的視圖位於JSPS文件夾中。是的,我得到的第二和第三點,我糾正它,現在顯示此錯誤顯示空指針異常。像這樣的............................................... .................................................. ..................... servlet.service()for servlet [emp]與path [/ Employee_Management_Tool]上下文引發異常[Request processing failed;嵌套的異常是java.lang.NullPointerException],根本原因 –