• spring系列---- spring-mvc1


    环境:jdk,eclipse,tomcat,spring-mvc,commonlog

    1.新建Dynamic Web Project项目。

    2.导入springmvc包与commonlog两个包。

    3.项目引入jsp-api,servlet-api两个包,在tomcat下。

    4.web.xml配置(SpringMVC1WebContentWEB-INF)

    <?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">
      <!-- 定义servlet -->
      <servlet>
        
          <servlet-name>springmvc</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <init-param>
            <!--指定路径-->
              <param-name>contextConfigLocation</param-name>
              <param-value>/WEB-INF/springmvc-config.xml</param-value>
          </init-param>    
        <load-on-startup>1</load-on-startup>
      </servlet>
      <!-- 让spring mvc的前端控制器拦截所有请求 -->
      <servlet-mapping>
          <servlet-name>springmvc</servlet-name>
          <url-pattern>/</url-pattern>
          
      </servlet-mapping>
    </web-app>

    5.springmvc-config.xml配置(SpringMVC1WebContentWEB-INF)

    <?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-4.2.xsd">
           <!-- 配置handle,映射“/hello”请求 -->
           <bean name="/hello" class="org.fkit.controller.HelloController" />
            <!-- 处理映射器将bean的name作为地址进行查找,需要在配置Handle指定地址 -->
           <bean
            class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
              <!-- SimpleControllerHandlerAdapter处理器适配器,所有处理适配器都要实现 HandlerAdapter接口-->
           <bean
            class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
           <!-- 视图解析器-->
           <bean 
            class="org.springframework.web.servlet.view.InternalResourceViewResolver"/> 
    </beans>

    6.Controller层(SpringMVC1srcorgfkitcontroller)

    package org.fkit.controller;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    public class HelloController implements Controller {
        public static final Log logger = LogFactory.getLog(HelloController.class);
        @Override
        public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
            ModelAndView mv = new ModelAndView();
            mv.addObject("message", "Hello World!");
            mv.setViewName("/WEB-INF/content/index.jsp");
            return mv;
        }
    }

    7.index.jsp(SpringMVC1WebContentWEB-INFcontent)

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!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=utf-8">
    <title>Insert title here</title>
    </head>
    <body>
        ${requestScope.message}
    </body>
    </html>

    8.运行ok。

    运行网址:http://localhost:8080/SpringMVC1/hello  

    9.问题总结

      @1.tomcat默认颜色为红色  解决为其他颜色以方便识别错误  

        原因:tomcat默认的日志输出按jdk中的System.err来输出,而System.err在eclipse中,以红色显示。

        解决方案:Eclipse 中 System.err 的显示颜色可以通过 Window --> Preference --> Run/Debug --> Console 的 Standard Error text color 进行更改。

      @2.tomcat一运行就警告 [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.e

        原因:eclipse配置错误

        解决方案:双击Servers里的Tomcat v7.0 at localhost,在Server Options选项选中Publish module contexts to separate XML files。

            @3.tomcat有一个还是红色 org.apache.catalina.startup.HostConfig deployDescriptor

        原因:linux或者部分unix系统提供随机数设备是/dev/random 和/dev/urandom ,两个有区别,urandom安全性没有random高,但random需要时间间隔生成随机数。jdk默认调用random。

        解决方案:找到jdk1.x.x_xx/jre/lib/security/Java.security文件,在文件中找到securerandom.source这个设置项,将其改为:securerandom.source=file:/dev/./urandom

       @4.eclipse快捷键注释  alt+/

            @5.org.springframework.web.servlet.DispatcherServlet noHandlerFound

        原因:访问路径有问题

  • 相关阅读:
    mongodb的学习-1-NoSQL
    mongodb的学习-3-在Mac上的安装配置
    面试题之算法与编程
    笔试题之javaweb
    笔试题之j2ee
    笔试题之代码查错
    笔试题之java基础
    javaweb笔记分享
    过滤器入门
    jsp入门
  • 原文地址:https://www.cnblogs.com/zxwbky/p/14010238.html
Copyright © 2020-2023  润新知