95992828九五至尊2

Java框架型项目从入门到装逼

三月 22nd, 2019  |  882828九五至尊手机版

此次的学科是打算用Spring,SpringMVC以及古板的jdbc技术来制作叁个大约的增加和删除改查项目,对用户消息进行增加和删除改查,就那样简单。

前边是用SpringBoot创设Web项目,但在看《看透SpringMVC源码分析》,试试gradle营造SpringMVC例子,知道个大约,然后看下原理和思索,再看源代码长远剖析。以后开端构建:

1.新建项目

首先,打开eclipse,新建3个web项目。项目名称就称为student,注意,新建项目标时候,因为是eclipse。所以你要求选拔Dynamic
Web Project。

点击Next。

不管,继续Next。

Finish完成。

项指标目录结构如下:

接下去,把我们必要使用的jar包全部拷贝进来。

其间,simple-jdbc是小编要好包裹了一些jdbc操作,能够当做是多少个袖珍的jdbc框架,具体怎么使用会在此后讲到。

这么些jar包,有的会用到,有的大概用不到。以后先不管,就把他们任何拷贝进来。

  1. 新建项目:

2.集成SpringMVC

SpringMVC在本项目中起到的职能就是二个呼吁分发器,全部的央浼,大家都由此SpringMVC来散发。打开web.xml:

image.png

<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>student</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

welcome-file-list是迎接页的配置,大家无论,在</web-app>前拉长如下配置:

 <!-- 配置SpringMVC分发器 -->
     <servlet>
         <servlet-name>springmvc</servlet-name>
         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
         <init-param>
             <param-name>namespace</param-name>
             <param-value>spring-mvc</param-value>
         </init-param>
      </servlet>

    <servlet-mapping>
         <servlet-name>springmvc</servlet-name>
         <url-pattern>*.do</url-pattern>
     </servlet-mapping>

那和计划一般Servlet的章程是同样,在那之中

 <init-param>
    <param-name>namespace</param-name>
    <param-value>spring-mvc</param-value>
</init-param>

那些布局的意思是在开立DispatcherServlet类的时候,就把内部的2个namespace属性赋值“spring-mvc”。这些名字是大家和好定的,你能够取其余名字,也足以就叫做spring-mvc,它对应的是
WEB-INF 目录下的 spring-mvc.xml
文件。未来,我们是未曾这些文件的,所以得新建八个。

将弹指间代码拷贝进spring-mvc.xml中。

<?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:context="http://www.springframework.org/schema/context"
    xmlns:util="http://www.springframework.org/schema/util" 
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    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/util 
       http://www.springframework.org/schema/util/spring-util-3.0.xsd 
       http://www.springframework.org/schema/mvc 
       http://www.springframework.org/schema/mvc/spring-mvc.xsd
      ">

      <!-- 包扫描器 -->
      <context:component-scan base-package="com.app.*"></context:component-scan>

      <!-- 开启注解驱动,写了以后,Spring的注解机制就开始生效 -->
      <mvc:annotation-driven >
          <mvc:message-converters register-defaults="true">
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/plain;charset=UTF-8</value>
                            <value>text/html;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
                <!-- 配置Fastjson支持 -->
                <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>application/json</value>
                        </list>
                    </property>
                    <property name="features">
                        <!-- 
                            Fastjson的SerializerFeature序列化属性: 
                                QuoteFieldNames———-输出key时是否使用双引号,默认为true 
                                WriteMapNullValue——–是否输出值为null的字段,默认为false 
                                WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null 
                                WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null 
                                WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null 
                                WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null
                         -->
                        <list>
                            <value>QuoteFieldNames</value>
                            <value>WriteMapNullValue</value>
                        </list>
                    </property>
                </bean>
            </mvc:message-converters>
        </mvc:annotation-driven>

        <!-- 配置SpringMVC的视图解析器 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/" />
            <property name="suffix" value=".jsp" /><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 -->
            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        </bean>

</beans>      

第②个布局,包扫描器:

<context:component-scan base-package="com.app.*"></context:component-scan>

其一是啥意思呢,正是说,汤姆cat容器运行的时候,会去扫描com.app下边全部的包和类,倘若是符合需求的类,就new一下,装进Spring的bean工厂。

我们先把相应的目录结营造起来:

然后,建一个controller包:

那样一来,那些controller正是未来会被围观的对象。将来,大家在里面新建2个ViewController类。

代码:

package com.app.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ViewController {

    @RequestMapping("/test")
    public void test(){
        System.out.println("test");
    }

}

小编们给这几个类打上@controller标记,到时候Sping框架就会认得他,在汤姆cat服务器运营的时候就new出那几个类,放到Spring的bean工厂中。

@RequestMapping的意义是请求路径。

至于那三个标志,我在 那篇小说
中已经做了详细的证实,在此就不再赘言。接着,大家得以去公布大家的项目了。

要是你还不会用eclipse和tomcat公布web项目,就看一下
Tomcat的设置配备与JavaWeb入门教程
。笔者在此处就不详细说了。

起步tomcat,打开浏览器,在地方栏输入:
http://localhost/student/test.do
回车,能够见见在控制台打字与印刷出了test字样:

image.png

那就认证,流程已经走通了。注意,因为本人本地tomcat配置的端口号是80,所以直接写localhost,不必要写localhost:80了。还有,为何后边跟test.do?那是因为大家在布署Spring分发器的时候就明显了,只拦截全数
*.do 的请求。

<!-- 配置SpringMVC分发器 -->
     <servlet>
         <servlet-name>springmvc</servlet-name>
         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
         <init-param>
             <param-name>namespace</param-name>
             <param-value>spring-mvc</param-value>
         </init-param>
      </servlet>

      <servlet-mapping>
         <servlet-name>springmvc</servlet-name>
         <url-pattern>*.do</url-pattern>
     </servlet-mapping>

882828九五至尊手机版,本章就到那里,先撤了。

笔者要下载源码

882828九五至尊手机版 1

创设三个新品类

然后成立一个gradle的Web项目

882828九五至尊手机版 2

Gradle的web项目

然后 Next

882828九五至尊手机版 3

创立包名称、项目名、版本号

然后Next

882828九五至尊手机版 4

gradle home

然后Next

882828九五至尊手机版 5

末段页面

因为本人本地曾经有SpringMvcTest项目里,所以项目名改为SpringMvcTest1。最后直接Finish就好。创造项目终止后,看一看Intellij创立的Gradle
Web项目目录结构:

882828九五至尊手机版 6

刚创制生成的目录结构

倘使没有.gradle或许build,或许是速龙lij idea还在营造恐怕它本身错误导致;

那这时候来讲讲SpringMVC最简易的布局 必要三步:

(1).  成立web.xml, 在web.xml中安插;(2). 创设SpringMVC的xml配置文件;

(3)创建Controller和view

那沿着那样的手续,作者急需修改成就像下边包车型大巴目录:

882828九五至尊手机版 7

合格的体系目录结构

对待合格的项目目录结构,发现新建的品种没有web.xml(web.xml的效益在于tomcat会加载web.xml
成立ServletContext, 运行Spring容器),但我们不能够随便建,例如:

882828九五至尊手机版 8

在webapp下创建web.xml文件

始建后意识 ,头音讯安全不一致!

882828九五至尊手机版 9

投机建的web.xml 头新闻为faces-config

那就把头新闻为faces-config的web.xml删掉。先配备好tomcat,然后我们才方可在Intellij
idea 成立web.xml文件。tomcat配置不说了。继续配备SpringMVC。

布置好tomcat后大家去project structure里建大家的web.xml

882828九五至尊手机版 10

进入project structure

进入后,点modules,打开大家项目main结构,然后在Deployment
Descriptors上边有个“+”号,点➕号会弹出web.xml

882828九五至尊手机版 11

modules – project main

882828九五至尊手机版 12

新建web.xml

选web.xml后弹出多少个框,怎么是
\项目目录\.idea\modules\WEB-INF\web.xml。别急,那么些等会有用。把该web.xml复制到webapp目录下。然后在Web
Module Deployment Descriptor选webapp目录下的web.xml。

882828九五至尊手机版 13

.idea目录下的web.xml

882828九五至尊手机版 14

选料大家的webapp目录下的web

那时候,web.xml有地球的标志:

882828九五至尊手机版 15

web.xml

主干配置搞好,以往起来配SpringMvc

build.gradle配置如下:

882828九五至尊手机版 16

build.gradle

配好后,点左侧的圆形循环标志,安装重视。安装完后 建一些目录如下:

882828九五至尊手机版 17

建java目录和resources目录

下一场在spring目录下新建spring.xml配置文件,名字命名为spring-mvc.xml
 如下:

882828九五至尊手机版 18

spring-mvc.xml

下一场配置web.xml:

882828九五至尊手机版 19

web.xml

<servlet>定义三个servlet,servlet-class定义该servlet类;<init-param>一看名字就理解是开首化参数,那是布局DispatcherServlet,设置contextConfigLocation参数来钦定该Servlet(也等于Spring
MVC)配置文件的职责。

接下来在布局spring-mvc.xml:

882828九五至尊手机版 20

spring-mvc.xml

咦,怎么中蓝error,?
那是beans配置里从未xmlns:content和xmlns:mvc,在速龙lij idea下
在红字处点击并按alt+return 

882828九五至尊手机版 21

新的spring-mvc.xml

接下来创制我们的Controller和index.html

882828九五至尊手机版 22

MainController

882828九五至尊手机版 23

index.html

  1. 部署到Tomcat服务器

开拓IDEA > Run > 艾德it Configuration, 点击艾德it
Configuration后,点左上角“+”号 如下:

882828九五至尊手机版 24

  1. 配置tomcat 选+号

882828九五至尊手机版 25

  1. 配置local tomcat

882828九五至尊手机版 26

  1. 配置tomcat 

此时左手tomcat哪个种类猫头上依然个❌,须要那是因为急需把war公布到tomcat容器上。

882828九五至尊手机版 27

  1. war发布到tomcat

882828九五至尊手机版 28

  1. war 发布到tomcat

下一场点OK,点击运转按钮,程序运维 。

浏览器输入http://localhost:8080 ,输出大家想要的结果。成功!

参照链接:

www.jianshu.com/p/781982e708e0

Your Comments

近期评论

    功能


    网站地图xml地图