配置 Tomcat(MacOS)
Tomcat 服务器配置
配置Tomcat(MacOS)
- 请先到钉盘 - 网聚宝开发指南-资源 - Common 下载 apache-tomcat-9.0.0.M15.zip 包。
- 解压下载的压缩包,放到适当的文件夹(路径中不要带有中文路径)
- 打开 终端,进入刚刚解压的文件夹的bin 目录
- 输入下面的命令,以获取执行权限。
sudo chmod 755 *.sh
- 然后执行
sudo sh startup.sh
启动 Tomcat 服务器。 - 执行成功后在 浏览器中地址栏中输入
localhost:8080
,当你看到 Tomcat首页的时候 就成功啦。 - 执行
sudo sh shutdown.sh
关闭Tomcat 服务器。
PC 配置Tomcat
- 请先到钉盘 - 网聚宝开发指南-资源 - Common 下载 apache-tomcat-9.0.0.M15.zip 。
- 解压下载的压缩包,放到适当的文件夹(路径中不要带有中文路径)
- 进入刚刚解压缩的文件夹,进入bin目录,双击 startup.bat 启动Tomcat 服务器。
- 执行成功后在 浏览器中地址栏中输入
localhost:8080
,当你看到 Tomcat首页的时候 就成功啦。
搭建一个Web工程并在Tomcat中运行
我们还是通过 之前Maven 模板进行构建一个最简单的WebApp,然后将其运行到Tomcat上去。
- 首先打开 IDEA,运用Maven 中利用模板构建的步骤,选择org.apache.maven.archetypes:maven-archetype-webapp 模板进行创建。
- 创建成功后,单击 Edit Configrations 进行运行设置。
- 添加Tomcat服务器。
- 设置Tomcat 服务器
- 点击Configure 按钮 添加 Tomcat 服务器的 根目录,设置完成后,点击OK保存。
- 点击 Deployment 选项卡,添加需要部署的 Artifact,我们项目工程中目前仅仅有一个部署的包,选择第二个,点击OK 保存并退出设置。
- 点击 工具栏中 run 的绿色按钮,项目随即开始运行,启动Tomcat 服务器,然后自动打开 默认浏览器,显示index.jsp 的内容,看到Hello, World! Tomcat 服务器 配置就完成啦。
SpringMVC 结构的配置
Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。 下面我将带领大家构建一个最基本的Spring MVC 的工程,通过这个工程 我们将了解到对Spring MVC 框架的配置与运行模式。
- 建立一个利用 maven 的 org.apache.maven.archetypes:maven-archetype-webapp 模板进行创建 一个空白的web app。
在生成的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>
在main 目录下新建 java 文件夹,并将其作为Sources Root。
在 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"; }
}
在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>
在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>
在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>
根据Tomcat 配置中 的教程配置运行环境,点击run,并在 浏览器地址栏 输入 http://localhost:8080/hello,看到 如下网页,最基础的Spring MVC 框架就搭建成功啦。 img
接下来我们在以上工程的基础之上,添加表单处理的Demo。
在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; } }
在 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"; } }
在 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>
在 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"%>
<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>
- 点击运行,在 浏览器地址栏中 输入 http://localhost:8080/student 即可查看到 我们的效果。 img img
到这里,相信大家已经 对Spring MVC 结构有了一个大概的认识,已经能够初步上手Spring MVC 架构的项目了。