记录关于spring MVC入门遇见的问题

本人初入JAVA WEB。虽然学习路途遥远,但我确要一步步行走。

 

   在学习spring MVC时第一个遇见的问题是SVN获取源代码时遇见的验证失败错误。原因是URL:https://src.springframework.org/svn/spring-framework/ 代码服务器改为了https://github.com/SpringSource/spring-framework/ .

  第二个遇见的问题是

严重: ContainerBase.addChild: start:   

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/xxxx]错误。原因是需要导入commons-logging.jar包。关于它们的关系:spring主要是javabean管理的,aop用作权限,日志管理方面,当然也会用到日志记录,这就需要引入日志包commons-logging.jar.

第三个遇见的问题是

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'simpleUrlHandlerMapping' defined in ServletContext resource [/WEB-INF/spring-servlet.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'helloControl' is defined错误。原因竟然是spring-servlet.xml里面<prop>的内容与<bean>不配对。哈哈。

  经过这些问题后,终于进入了spring MVC的HelloWord!,哈哈得意下面列出.java、.xml、.jsp的代码.

 

spring-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>    
<!-- Bean头部 -->    
<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"   
    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-3.0.xsd    
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd    
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd    
            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd  
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">  
                
    <bean id="simpleUrlHandlerMapping"
        class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
    >
    <property name="mappings">
       <props>
          <prop key="/hello.do">helloControl</prop>
       
       </props>
    
    </property>
    
    </bean>
      
      <bean id="helloControl" class="controller.HelloWord"></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" version="2.5">
  <display-name></display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</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>*.do</url-pattern>
  </servlet-mapping>
 <!-- 注意导入commons-logging.jar包 -->
</web-app>


HelloWord.java

package controller; 

import javax.servlet.http.HttpServletRequest; 

import javax.servlet.http.HttpServletResponse; 

 
import org.springframework.web.servlet.ModelAndView; 

 
import org.springframework.web.servlet.mvc.Controller; 

public class HelloWord implements Controller {  


        public ModelAndView handleRequest(HttpServletRequest request,  
HttpServletResponse response) 

 
        throws Exception {  

 
        ModelAndView mav = new ModelAndView("hello.jsp"); 

 
        mav.addObject("message", "Good luky!"); 

 
        return mav; 

 
        } 

 
        } 


hello.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 

 
<%  

 
String path = request.getContextPath(); 

 
String basePath =  
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%> 

 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

 
<html> 

 
  <head>  

    <base href="<%=basePath%>"> 

 

 
    <title>My JSP 'hello.jsp' starting page</title> 

 
        <meta http-equiv="pragma" content="no-cache"> 

 
        <meta http-equiv="cache-control" content="no-cache"> 

 
        <meta http-equiv="expires" content="0">      

        <meta 
http-equiv="keywords" 
content="keyword1,keyword2,keyword3"> 

 
        <meta http-equiv="description" content="This is my page"> 

 
        <!--  

 
        <link rel="stylesheet" type="text/css" href="styles.css"> 

 
        --> 

  

 
  </head> 

 
   

 
  <body>  

 
    
获取值:
${message} 

 
  </body> 

 
</html>


index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%  
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>  
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <base href="<%=basePath%>">  
      
    <title>My JSP 'index.jsp' starting page</title>  
    <meta http-equiv="pragma" content="no-cache">  
    <meta http-equiv="cache-control" content="no-cache">  
    <meta http-equiv="expires" content="0">      
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
    <meta http-equiv="description" content="This is my page">  
    <!-- 
    <link rel="stylesheet" type="text/css" href="styles.css"> 
    -->  
  </head>  
    
  <body>  
    <form action="test/login.do" method="POST">  
        <input type="text" name="userName"/>  
        <input type="password" name="password"/>  
        <input type="submit" value="commit"/>  
    </form>  
  </body>  
</html>  


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值