2016-01-29 28 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],根本原因 –