<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="suffix">
<value>.jsp</value>
</property>
</bean><bean name="login" class="ydm.SprintController" autowire="byName"></bean><bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/login.do">login</prop></props>
</property>
</bean>
</beans>这是ideawu-servlet.xml,和web.xml放在同级目录下<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
这段是用来加载其他配置文件,因为我只是想实现以下spring的mvc,所以配置文件很少,而ideawu-servlet.xml是放在web.xml同级目录下,我想没必要在这里面特意写一些,我就感觉这段是没用的,我就把它删掉,怪事就出现了,我删掉这段话,tomcat就起不来了,而我这段话放在这里,我又没加其他配置文件,我感觉莫名其妙的,这是其一
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>ideawu</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ideawu</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
这是web.xml配置文件
我把上面红色的话加入后,tomcat能够正常启动,
然后我有一个index.jsp <form action="login.do">
<input type="text" name="username">
<input type="submit">
</form>hello.jsp <body>
<%=request.getParameter("username") %>
</body>protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
// TODO Auto-generated method stub
String str=arg0.getAttribute("username").toString();
return new ModelAndView("hello","username",str);
}
这是那个控制类,
然后部署,一点提交就出现下面错误
Servlet.service() for servlet [ideawu] in context with path [/spring] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at ydm.SprintController.handleRequestInternal(SprintController.java:15)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:284)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:322)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1714)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
这是日志记录的错误,我很郁闷,这么简单的过程,我就是想不通哪里会出现空指针错误,我实在是搞不定了,我们公司对spring是情有独钟什么都用spring来做,就连基本的mvc也要用spring,我就是想熟悉spring mvc的流程,没想到这在里继续不下去了,郁闷,请教
解决方案 »
- javax.servlet.ServletException: java.lang.NullPointerException
- 访问日志写成文件还是数据库记录比较好?
- 怎么解决java.lang.NullPointerException的问题
- 页面上如何显示jfreechart生成图形的值
- jsp调用cab问题
- 页面计数器二
- ●●JSP如何得到一个网址返回的源码?
- 请推荐一个免费的支持J2EE服务器,谢谢!
- No Context configured to process this request
- 在oracle中,条件想写成该字段值前三位不包含“1”或“2”或“3”
- JQuery(或者说Html)如何将一个Html页面以对话框的形式显示出来
- 关于“org.apache.commons.dbcp.SQLNestedException:”
null.toString();肯定报空指针的错了