Tomcat 服务器配置

配置Tomcat(MacOS)
  1. 请先到钉盘 - 网聚宝开发指南-资源 - Common 下载 apache-tomcat-9.0.0.M15.zip 包。
  2. 解压下载的压缩包,放到适当的文件夹(路径中不要带有中文路径)
  3. 打开 终端,进入刚刚解压的文件夹的bin 目录
  4. 输入下面的命令,以获取执行权限。 sudo chmod 755 *.sh
  5. 然后执行 sudo sh startup.sh 启动 Tomcat 服务器。
  6. 执行成功后在 浏览器中地址栏中输入 localhost:8080,当你看到 Tomcat首页的时候 就成功啦。
  7. 执行 sudo sh shutdown.sh 关闭Tomcat 服务器。
PC 配置Tomcat
  1. 请先到钉盘 - 网聚宝开发指南-资源 - Common 下载 apache-tomcat-9.0.0.M15.zip 。
  2. 解压下载的压缩包,放到适当的文件夹(路径中不要带有中文路径)
  3. 进入刚刚解压缩的文件夹,进入bin目录,双击 startup.bat 启动Tomcat 服务器。
  4. 执行成功后在 浏览器中地址栏中输入 localhost:8080,当你看到 Tomcat首页的时候 就成功啦。
搭建一个Web工程并在Tomcat中运行

我们还是通过 之前Maven 模板进行构建一个最简单的WebApp,然后将其运行到Tomcat上去。

  1. 首先打开 IDEA,运用Maven 中利用模板构建的步骤,选择org.apache.maven.archetypes:maven-archetype-webapp 模板进行创建。
  2. 创建成功后,单击 Edit Configrations 进行运行设置。
  3. 添加Tomcat服务器。
  4. 设置Tomcat 服务器
  5. 点击Configure 按钮 添加 Tomcat 服务器的 根目录,设置完成后,点击OK保存。
  6. 点击 Deployment 选项卡,添加需要部署的 Artifact,我们项目工程中目前仅仅有一个部署的包,选择第二个,点击OK 保存并退出设置。
  7. 点击 工具栏中 run 的绿色按钮,项目随即开始运行,启动Tomcat 服务器,然后自动打开 默认浏览器,显示index.jsp 的内容,看到Hello, World! Tomcat 服务器 配置就完成啦。

SpringMVC 结构的配置

Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。 下面我将带领大家构建一个最基本的Spring MVC 的工程,通过这个工程 我们将了解到对Spring MVC 框架的配置与运行模式。

  1. 建立一个利用 maven 的 org.apache.maven.archetypes:maven-archetype-webapp 模板进行创建 一个空白的web app。
  2. 在生成的pom.xml 文件中写入相应的依赖包以及其版本信息。

     <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
       <modelVersion>4.0.0</modelVersion>
       <groupId>com.wangjubao</groupId>
       <artifactId>SpringMVCDemo</artifactId>
       <packaging>war</packaging>
       <version>1.0-SNAPSHOT</version>
       <name>SpringMVCDemo Maven Webapp</name>
       <url>http://maven.apache.org</url>
    
       <properties>
         <spring.version>4.3.4.RELEASE</spring.version>
       </properties>
    
       <dependencies>
         <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>3.8.1</version>
           <scope>test</scope>
         </dependency>
    
         <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-webmvc</artifactId>
           <version>${spring.version}</version>
         </dependency>
    
       </dependencies>
    
       <build>
         <finalName>SpringMVCDemo</finalName>
       </build>
     </project>
    
  3. 在main 目录下新建 java 文件夹,并将其作为Sources Root。

  4. 在 java 文件夹 下新建包,com.wangjubao.controller,并新建类 HelloController。

    package com.wangjubao.controller;

    import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod;

    @Controller @RequestMapping("/hello") public class HelloController {

     @RequestMapping(method = RequestMethod.GET)
     public String printHello(ModelMap model) {
         model.addAttribute("message", "Hello Spring MVC Framework!");
         return "hello";
     }
    

    }

  1. 在webapp/WEB-INF/web.xml 中,写入 servlet 的信息。

     <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
              version="3.1">
    
       <display-name>SpringMVCDemo Web Application</display-name>
       <servlet>
         <servlet-name>HelloWeb</servlet-name>
         <servlet-class>
           org.springframework.web.servlet.DispatcherServlet
         </servlet-class>
         <load-on-startup>1</load-on-startup>
       </servlet>
    
       <servlet-mapping>
         <servlet-name>HelloWeb</servlet-name>
         <url-pattern>/</url-pattern>
       </servlet-mapping>
    
     </web-app>
    
  2. 在webapp/WEB-INF 下,右键 new - XML configruation - Spring Config 新建HelloWeb-servlet.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:context="http://www.springframework.org/schema/context"
            xmlns:mvc="http://www.springframework.org/schema/mvc"
            xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.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.xsd">
    
         <!--指明 controller 所在包,并扫描其中的注解-->
         <context:component-scan base-package="com.wangjubao.controller"/>
    
         <!-- 静态资源(js、image等)的访问 -->
         <mvc:default-servlet-handler/>
    
         <!-- 开启注解 -->
         <mvc:annotation-driven/>
    
         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
             <property name="prefix" value="/WEB-INF/pages/" />
             <property name="suffix" value=".jsp" />
         </bean>
     </beans>
    
  3. 在WEB-INF 下 新建pages 文件夹,并在其下面新建 hello.jsp 网页。

     <%@ page contentType="text/html; charset=UTF-8" %>
     <html>
     <head>
         <title>Hello World</title>
     </head>
     <body>
     <h2>${message}</h2>
     </body>
     </html>
    
  4. 根据Tomcat 配置中 的教程配置运行环境,点击run,并在 浏览器地址栏 输入 http://localhost:8080/hello,看到 如下网页,最基础的Spring MVC 框架就搭建成功啦。 img

接下来我们在以上工程的基础之上,添加表单处理的Demo。

  1. 在com.wangjubao 中新建一个名为 bean 的包,并新建 Student 类。

     package com.wangjubao.bean;
    
     public class Student {
         private Integer age;
         private String name;
         private Integer id;
         public void setAge(Integer age) {
             this.age = age;
         }
         public Integer getAge() {
             return age;
         }
         public void setName(String name) {
             this.name = name;
         }
         public String getName() {
             return name;
         }
         public void setId(Integer id) {
             this.id = id;
         }
         public Integer getId() {
             return id;
         }
     }
    
  2. 在 com.wangjubao.controller 下 新建 StudentController.java 。

         package com.wangjubao.controller;
    
     import com.wangjubao.bean.Student;
     import org.springframework.stereotype.Controller;
     import org.springframework.web.bind.annotation.ModelAttribute;
     import org.springframework.web.bind.annotation.RequestMapping;
     import org.springframework.web.bind.annotation.RequestMethod;
     import org.springframework.web.servlet.ModelAndView;
     import org.springframework.ui.ModelMap;
    
     @Controller
     public class StudentController {
        @RequestMapping(value = "/student", method = RequestMethod.GET)
        public ModelAndView student() {
           return new ModelAndView("student", "command", new Student());
        }   
        @RequestMapping(value = "/addStudent", method = RequestMethod.POST)
        public String addStudent(@ModelAttribute("SpringWeb")Student student, 
        ModelMap model) {
           model.addAttribute("name", student.getName());
           model.addAttribute("age", student.getAge());
           model.addAttribute("id", student.getId());      
           return "result";
        }
     }
    
  3. 在 WEB-INF 下 添加 相应的 servlet 信息。

      <servlet>
     <servlet-name>HelloWeb</servlet-name>
     <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
     </servlet-class>
     <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet-mapping>
     <servlet-name>HelloWeb</servlet-name>
     <url-pattern>/</url-pattern>
     </servlet-mapping>
    
  4. 在 WEB-INF/pages 下 添加student.jsp 和 result.jsp 网页。 student.jsp 源码:

     <%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
     <html>
     <head>
         <title>Spring MVC Form Handling</title>
     </head>
     <body>
    
     <h2>Student Information</h2>
     <form:form method="POST" action="/addStudent">
         <table>
             <tr>
                 <td><form:label path="name">Name</form:label></td>
                 <td><form:input path="name" /></td>
             </tr>
             <tr>
                 <td><form:label path="age">Age</form:label></td>
                 <td><form:input path="age" /></td>
             </tr>
             <tr>
                 <td><form:label path="id">id</form:label></td>
                 <td><form:input path="id" /></td>
             </tr>
             <tr>
                 <td colspan="2">
                     <input type="submit" value="Submit"/>
                 </td>
             </tr>
         </table>
     </form:form>
     </body>
     </html>
    

result.jsp 源码: <%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%> Spring MVC Form Handling

<h2>Submitted Student Information</h2>
<table>
    <tr>
        <td>Name</td>
        <td>${name}</td>
    </tr>
    <tr>
        <td>Age</td>
        <td>${age}</td>
    </tr>
    <tr>
        <td>ID</td>
        <td>${id}</td>
    </tr>
</table>
</body>
</html>
  1. 点击运行,在 浏览器地址栏中 输入 http://localhost:8080/student 即可查看到 我们的效果。 img img

到这里,相信大家已经 对Spring MVC 结构有了一个大概的认识,已经能够初步上手Spring MVC 架构的项目了。