返回顶部
首页 > 资讯 > 后端开发 > Python >spring3 MVC手工搭建Sprin
  • 711
分享到

spring3 MVC手工搭建Sprin

手工MVCSprin 2023-01-31 01:01:13 711人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

 转载地址:Http://hi.baidu.com/hi_c/blog/item/598bcd17c2c5601ac83D6d78.html 手工搭建步骤: 1.开发环境确认    2.spring3的jar包    3.Spring3项

 转载地址:Http://hi.baidu.com/hi_c/blog/item/598bcd17c2c5601ac83D6d78.html

手工搭建步骤: 1.开发环境确认    2.spring3的jar包    3.Spring3项目配置    4.其他

一、开发环境确认

    1.工具及版本

    jdk我用的是1.6的;jdk的下载安装和配置就不讲了,如果这个还搞不定还谈什么spring啊

    myeclipse用的是6.0(实在太落后啦,还是8.X舒服)不过这里是手工搭建不使用自动生成工具,所以版本无所谓的;使用eclipse for     javaEE也ok,不过跟myeclipse可能在项目目录上会有少许的不同,eclipse的WEB跟目录是WebContent,而myeclipse通常是WebRoot

    Tomcat是6的

    2.确认

    为了保证开发环境正常请做一下确认,在运行里输入cmd打开命令行,输入java -version命令,显示类似如下内容:

    java version "1.6.0_23"
    Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
    Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)

然后,启动tomcat6,请确认控制台没有报错信息,控制台输出类似如下:

2011-1-19 14:58:27 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2011-1-19 14:58:27 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 255 ms
2011-1-19 14:58:27 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2011-1-19 14:58:28 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
2011-1-19 14:58:29 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2011-1-19 14:58:29 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2011-1-19 14:58:29 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/15  config=null
2011-1-19 14:58:29 org.apache.catalina.startup.Catalina start
信息: Server startup in 1401 ms

确认myeclipse或eclipse下server视图下有你的tomcat6且可以正常启动关闭,如果没有自行配置,如果不知道自己网上搜

确认你的myeclipse或eclipse下的java平台是刚才确认过的jdk1.6

这一部分最后一步,新建一个webProject,如果你用的是是eclipse for javaEE那么项目类型选择Static web project

注意,eclipse新建web项目需要选择target runtime,如果没有就配上你的tomcat6,myeclipse新建项目j2EE Specification Level项要选择javaEE5.0

 二、Spring3jar

   1.下载Spring3

    先到官网现在吧,上网址:http://www.springsource.org/download 现在最新版本是3.0.5,看图,点圈住区域的链接后跳转到文件下载选择页面,需要下载两个文件:

    spring-framework-3.0.5.RELEASE-with-docs.zip  和   spring-framework-3.0.5.RELEASE-dependencies.zip

但是现在官方已经没有了 spring-framework-3.0.5.RELEASE-dependencies.zip的下载链接(这些依赖我们都可以分别到各自相关的开源项目下载),不知为何,你可以分别网上搜

spring-framework-3.0.5.RELEASE-with-docs.zip
dependency的目录结构基本上全是以com.XX org.XX为名字的目录,太长了就不截图了。

下面就是导入了,导入前先说明白两点:

             1. spring3开始jar包不再包含全能的spring.jar了,而是分成20多个jar包了,配置可以按需引入了

             2. 项目中使用spring除了引入dist目录下的jar包,还需要dependencies下的一些依赖包,下面再具体说。

2.引入dist目录下除了下面三个其余所有包

org.springframework.web.struts-3.0.5.RELEASE.jar

org.springframework.spring-library-3.0.5.RELEASE.libd

org.springframework.web.portlet-3.0.5.RELEASE.jar

如何引入jar包,对项目鼠标右键选择【Build Path】,选择【Add Extenal ArcHives】,浏览到jar包的位置,打开即可

3.接下来,还必须导入日志相关的一个jar包---commons logging和一个名为com.springsource.org.aopalliance-1.0.0.jar的jar包

分别在spring-framework-3.0.5.RELEASE-dependencies\org.apache.commons\com.springsource.org.apache.commons.logging\1.1.1

及spring-framework-3.0.5.RELEASE-dependencies\org.aopalliance\com.springsource.org.aopalliance\1.0.0下

目录下。如果不引入部署项目tomcat会报如下错误:严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

三、spring3配置

1.web.xml配置

web.xml内容如下:       

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
 xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring-servlet.xml</param-value>
  </context-param>
 <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <!-- 对像js,CSS,gif等静态文件的访问,需要映射到默认的servlet -->

 <!-- 这里省去对静态资源url的配置,当然这样的话tomcat控制台就会报警告了,对html的请求、页面中的图片及css效果也是无法访问的

        不过我们这是搭基本环境嘛,就先不要图片吧,如果想解决这个问题,可以看我另外一篇文章:
 -->
 <!-- 配置spring核心servlet -->
 <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>/</url-pattern>
  <!-- url配置为/,不带文件后缀,会造成其它静态文件(js,css等)不能访问。如配为*.do,则不影响静态文件的访问 -->
 </servlet-mapping>

</web-app>

2.Spring应用上下文配置,在web.xml中我们配置了spring的servlet -----<servlet-name>spring</servlet-name>

web.xml里有这一段

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

用于开启基于注解的springMVC功能那么我们需要在跟web.xml同一目录下新建一个spring-servlet.xml文件,内容为:

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:p="http://www.springframework.org/schema/p"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 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-3.0.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context.xsd
      http://www.springframework.org/schema/mvc
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
     <!-- 启动注解驱动的Spring MVC功能,注册请求url和注解POJO类方法的映射-->
     <mvc:annotation-driven />

     <!-- 启动包扫描功能,以便注册带有@Controller、@Service、@repository、@Component等注解的类成为spring的bean -->
     <context:component-scan base-package="com.mvc.rest" />

     <!-- 对模型视图名称的解析,在请求时模型视图名称添加前后缀 -->
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/" p:suffix=".jsp" />
</beans>

配置是不是很清爽?多亏spring3增加的mvc、context、tx等几个命名空间了

四、其他

1.建包

新建一个包,包名就是我们spring-servlet.xml里 <context:component-scan base-package="com.mvc.rest"></context:component-scan> 
里的com.mvc.rest

2.建立Constroller

在com.mvc.rest包下新建一个java类,代码如下:

package com.mvc.rest;

import javax.servlet.http.httpservletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class RestConstroller {
 
 public RestConstroller() {
 }
 
 @RequestMapping(value = "/login/{user}", method = RequestMethod.GET)
 public ModelAndView myMethod(HttpServletRequest request,
   HttpServletResponse response, @PathVariable("user")
   String user, ModelMap modelMap) throws Exception {
  
  modelMap.put("loginUser", user);
  return new ModelAndView("/login/hello", modelMap);
 }

 @RequestMapping(value = "/welcome", method = RequestMethod.GET)
 public String reGIStPost() {
  return "/welcome";
 }
}

3.建视图

正如spring-servlet.xml里

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/" p:suffix=".jsp" />所配置的视图路径,我们需要在WEB-INF下建立view目录,在view下建立jsp文件;

正如RestConstroller里两个方法的返回语句:return new ModelAndView("/login/hello", modelMap);和return "/welcome";所约定,我们需要在view下建立相应的login目录并在其下建立hello.jsp,在/WEB-INF/view下建立welcome.jsp
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">

  </head>
  
  <body>
    你好:<%=request.getAttribute("loginUser") %>,现在时间是<%= new Date() %>
  </body>
</html>

welcome.jsp就随意吧,测试嘛.

 4.部署访问

在myeclipse下部署项目并运行

打开浏览地址栏输入:http://localhost:8080/sandDemo001/login/heamer 这里的heamer是自定义的,作为请求参数解析

输入:http://localhost:8080/sandDemo001/welcome  则显示你welcome.jsp应该显示的内容。

整个过程已经完成,需要注意的有几方面,1.环境一定要是可用的  2.jar包正确的引入到项目中   3.配置文件要小心修改,不要犯括号不配对类似的低级错误

 

--结束END--

本文标题: spring3 MVC手工搭建Sprin

本文链接: https://lsjlt.com/news/183589.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • spring3 MVC手工搭建Sprin
     转载地址:http://hi.baidu.com/hi_c/blog/item/598bcd17c2c5601ac83d6d78.html 手工搭建步骤: 1.开发环境确认    2.Spring3的jar包    3.Spring3项...
    99+
    2023-01-31
    手工 MVC Sprin
  • 手工搭建Servlet实现
    目录前言手工搭建一个Servlet下载Tomcat编译程序启动Tomcat读取日志前言 在初学Java web的时候,就曾听到过这样一种说法: java Web的演变过程大概可以分...
    99+
    2024-04-02
  • 如何手工搭建一个Servlet
    本篇内容主要讲解“如何手工搭建一个Servlet”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何手工搭建一个Servlet”吧!目录前言手工搭建一个Servlet下载Tomcat编译程序启动T...
    99+
    2023-06-20
  • Oracle 19c RAC 手工建库的搭建过程
    数据库环境: 数据库版本(RU):  19.10 GRID_HOME:       /u01/app/19.0.0/grid ORACLE_HOME:     /u01/a...
    99+
    2024-04-02
  • php Zend中怎么搭建MVC
    小编给大家分享一下php Zend中怎么搭建MVC,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3...
    99+
    2023-06-14
  • 最详细的手工LAMP环境搭建
    环境:阿里云服务器ECS,Alibaba Cloud Linux 3.2104 LTS 64位 ,2核(vCPU) 2 GiB LAMP 是搭建Web应用时最常用的环境,LAMP 分别表示 Li...
    99+
    2023-09-10
    apache php 服务器 mysql
  • Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(图文)
    本文主要介绍了Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(图文),分享给大家,具体如下:SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案。标准的MVC设计模式,将整个系...
    99+
    2023-05-30
    maven mybatis spring
  • 如何手工搭建ABP框架Web项目
    本篇文章为大家展示了如何手工搭建ABP框架Web项目,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ABP是 ASP.NET Boilerplate Project 的简称。ABP是基于DDD(领域驱...
    99+
    2023-06-04
  • 搭建git工具
    在软件开发领域,Git是最常用的版本控制工具之一。Git不仅能够帮助团队协作管理代码库,同时也能够实现版本追踪和回退。在本文中,我们将介绍如何搭建Git工具,以便您可以开始在项目中使用它。一、安装Git首先,我们需要安装Git。Git可以在...
    99+
    2023-10-22
  • DRF工程搭建
    环境安装与配置 DRF需要以下依赖: Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6) Django (1.10, 1.11, 2.0) DRF是以Django扩展应用的方式提供的,所以我们可以直接利用已有的...
    99+
    2023-01-31
    工程 DRF
  • ORACLE手工建库
    手动建库:找到官方文档,打开主索引找到管理--create database停止现有的数据库,释放内存 1.设置环境变量--ORACLE_SID2.建立密码文件3.建立文本的参数文件4.建立二进制参数文件5...
    99+
    2024-04-02
  • PHP中如何使用MVC搭建一个thinkPHP
    小编给大家分享一下PHP中如何使用MVC搭建一个thinkPHP,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一.什么是MVC?MVC:M是指数据模型,V是指用户界面,C则是控制器。使用M...
    99+
    2024-04-02
  • 【云原生 | 13】手把手教你搭建ferry开源工单系统
    🍁博主简介:         🏅云计算领域优质创作者         🏅2022年CSDN新星计划python赛道第一名         🏅2022年CSDN原力计划优质...
    99+
    2023-10-23
    大数据 云原生 docker ferry 工单系统
  • web开发中如何搭建前端脚手架工具
    这篇文章主要介绍了web开发中如何搭建前端脚手架工具,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言在实际的开发过程中,从零开始建立项目的...
    99+
    2024-04-02
  • Vue2.0脚手架搭建
    一、安装node.js 1、进入官网https://nodejs.org/en/download/ 根据电脑操作系统,选择相应版本的文件进行下载。 2、下载文件后双击进行安装 安...
    99+
    2024-04-02
  • Java开发之手把手教你搭建企业级工程SSM框架
    目录1.在IDEA界面中创建MavenWeb工程2.在pom.xml中添加如下相关依赖3.web.xml 配置 Spring MVC、Spring4.分别在main目录下创建reso...
    99+
    2024-04-02
  • vue-cli脚手架搭建方式(vue脚手架方式搭建)
    目录1.首先安装node前端环境,可以帮助我们去下载其他的组件2.在hbuilderX中创建一个vue-cli项目(标准的前段项目)3.组件路由 (1)安装 (2...
    99+
    2023-05-16
    vue-cli脚手架搭建 vue脚手架
  • oracle 11g 手工建库
    创建密码文件cd $ORACLE_HOME/dbsorapwd file=orapwogg02 password=oracle entries=5mkdir -p $ORACLE_BASE/flash_re...
    99+
    2024-04-02
  • [Android AIDL] --- AIDL工程搭建
    0 AIDL概念 AIDL(Android Interface Definition Language)是一种 IDL 语言,用于生成可以在 Android 设备上两个进程之间进行进程间通信(IPC)的代码。 通过 AIDL,可以在一个进程...
    99+
    2023-08-30
    android
  • CentOS+nginx手动搭建WordPress
    文章目录 前提条件php安装安装 EPEL 源及源管理工具:安装 REMI 源:安装 PHP7.4 及扩展:设置开机自动启动其他php命令 wordpress 安装下载WordPress将...
    99+
    2023-09-07
    nginx centos php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作