Eclipse配置Javaweb项目——打印Helloworld

这个配置我折腾了两三天,现将所有的坑都展示出来。

一. 默认大家Eclipse和Tomcat都安装好了

二. 建立SpringMVC项目

1.打开Eclipse点击File->New->Dynamic Web Project
Eclipse配置Javaweb项目——打印Helloworld_第1张图片
2.给项目起个名字
Eclipse配置Javaweb项目——打印Helloworld_第2张图片
3.Finish后项目结构如下
Eclipse配置Javaweb项目——打印Helloworld_第3张图片

三.导入Spring包

上面我们已经建立完成一个动态网站项目,但这些和Spring MVC还没什么关系,所以我们现在要把Spring MVC相关的jar包导入到项目里。
1.http://projects.spring.io/spring-framework/ 这个网站打开会快很多。如果在官网不能很快找到在哪下载就直接访问这个网址下载http://repo.spring.io/release/org/springframework/spring/4.3.9.RELEASE/spring-framework-4.3.9.RELEASE-dist.zip。
还有一个很关键的包:http://commons.apache.org/proper/commons-logging/download_logging.cgi 这个包一定要下载,不然之后启动tomcat会报错
2.解压下载好的spring-framework-4.3.9.RELEASE-dist.zip,打开lib文件夹,复制所有的jar包到自己项目的/WebContent/WEB-INF/lib 目录里。
Eclipse配置Javaweb项目——打印Helloworld_第4张图片

3.右击项目名,Refresh一下项目,因为刚刚复制jar进来,再选中项目名右击 Build Path - Configure Bulid Path… - Libraries - Add JARs…,在弹出的框里边找到项目的/WebContent/WEB-INF/lib,这样就看到刚刚你复制过来的 jar 包了。
Eclipse配置Javaweb项目——打印Helloworld_第5张图片

四.配置项目

1.在/WebContent/WEB-INF/下新建web.xml文件,具体内容如下,里面有一些最基本的配置,里面的配置都有注释:



    
      Spring MVC DEOM
    
    springMVC
    
    
    
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
        
            forceEncoding
            true
        
    
    
    
        characterEncodingFilter
        
        /*
    
    
    
    
        SpringMVC-DEOM
        
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            /WEB-INF/springMVC-servlet.xml
        
        
        1
    
    
    
        SpringMVC-DEOM
        
        /
    
    

看了注释好像还是不能完全明白其中的意思,我要说的是,先不要急于完全了解每个配置的含义,等到做的项目多了了解Spring MVC整个运行机制自然会慢慢明白,不可因为看不明白而不去学了,要允许暂时存在一些疑问。
2.大家肯定都注意到web.xml文件里有个配置为 “/WEB-INF/springMVC-servlet.xml” 这个文件是Spring MVC的配置文件,Spring官方文档上推荐的默认的文件名是[servlet-name]-servlet.xml文件,这里 servlet-name 叫 springMVC,因此,我新建了一个springMVC-servlet.xml。



  
  
  

这个文件内容不多,里面真正有意义的内容为



这是啥意思呢? 这个东西叫做bean, Spring 中的bean是什么鬼? 简单来说在Spring启动之前bean就是一个普通java类,但不是说所有的java类都是bean ,如果一个普通类想要成为bean必须要在配置文件里配置,就是说每一个bean都要对应一个java类文件,就是上面你看到的。每一个Bean对应通常需要指定两个属性。

id:确定该Bean的唯一标识符,容器对Bean管理、访问、以及该Bean的依赖关系,都通过该属性完成。Bean的id属性在Spring 配置文件中是唯一的。
class:指定该Bean的具体实现类。注意这里不能使接口。通常情况下,Spring会直接使用new关键字创建该Bean的实例,因此,这里必须提供Bean实现类的类名。

当Spring 启动之后会把配置文件()里的这些java类,new 一个对象,存在Spring 里(有的地方称为 Spring 容器),有可能会有很多对象在Spring 里面(多个bean),当我们写代码的时候就可以直接去用这些对象,而不用再去创建对象了。注意:只有在配置文件里声明过的类才会被创建对象,其他的类不会被创建为bean。

那么bean是什么呢? bean就是存在于Spring 容器中的对象。如果把Spring 比作一辆汽车,bean就是汽车里的各个模块零件,比如:发动机,变速箱,电路系统等,当汽车启动时候就已经将他们激活,就可以直接使用这些模块,而不用再去单独启动这些模块。

Helloworld项目

1.首先在Java Resource -> src上 右键点击-> new ->package 建立com.game.controller 建立一个包,之后在这个包上右键点击new->class ,类名为Helloworld,之后点击Finish.
Eclipse配置Javaweb项目——打印Helloworld_第6张图片
2.在Helloworld.java中添加以下代码:

package com.game.controller;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class Helloworld {

    @RequestMapping("/helloworld")  //此处控制浏览器里访问路径 具体为:/SpringDemo/helloworld
    public void helloWorld(HttpServletRequest request, HttpServletResponse response) throws IOException {
        
        //输出字符串
        response.getWriter().append("hello world");

    }
}


3.配置服务器
Eclipse配置Javaweb项目——打印Helloworld_第7张图片
4.启动服务器
Eclipse配置Javaweb项目——打印Helloworld_第8张图片
最后一个坑在这里:
Eclipse配置Javaweb项目——打印Helloworld_第9张图片
明明配置好了服务器,也成功启动了,怎么找不到网页?
将url改为http://localhost:8888/SpringDemo/helloworld就好了。(前提是你的http端口设置为了8888)
在这里插入图片描述
端口可直接通过右击Tomcat Sever->open打开可视化界面编辑。
Eclipse配置Javaweb项目——打印Helloworld_第10张图片

你可能感兴趣的:(Javaweb)