基础:已学完其他所有课程内容
内容包括:
希望同学们以精益求精的态度,完成作业,实现一个简化版的一起帮。
并体会:
前提:已完成JDK和eclipse安装,能跑普通的Java Project。
JST是J2EE Standard Tools的缩写,顾名思义:J2EE标准工具。
Server Adapters Extensions:服务器适配器扩展,意味着它提供针对服务器(比如:Apache和tomcat)的适配和扩展。
查看eclipse中preferences,如果没有server项,需要通过:help - install new software 安装
使用的远程下载地址为:http://download.eclipse.org/releases/kepler(或eclipse内置的同版本的work with)
这里apache是tomcat的修饰,apache tomcat其实就是tomcat。
PS:apache有很多含义,它
tomcat前加apache,表明它是遵守apache开源协议、并受apache基金会支持的。
tomcat是一个:
在安装JST之后可以通过:Window - Preferences - Server - Runtime Environment - Add 添加到eclipse。
可以看到:tomcat已经下载到本地:
最后,要能在eclipse上新建一个动态web项目,需要:file - new - Dynamic Web Project。
如果没有该选项,需要help - install new software安装:
注意:work with要和当前eclipse版本匹配(比如:2020-03,通过 help - about eclipse IDE 查看)
安装完成之后重启eclipse,就可以:file - new - Dynamic Web Project
注意这里有一个原因不明的超级大坑:不能使用默认的4.0,要降得3.0:
然后根据提示一步一步的设置:
直到生成Dynamic Web Project,在WebContent下面添加
Ctrl+F11既可以跑起来了。
一般为了方便调试,我们用外部浏览器调试。在preferences中搜索browser,选择一个你喜欢的即可。
注意Servers提示:
Tomcat v7.0 Server at localhost
以及console控制台输出:
七月 26, 2021 5:30:11 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 379 ms
表明tomcat已经自动启动。再添加
页面上会有错误:
这是因为解析JSP的sevlet还没有配好,需要在项目的properties中找到Build Path,然后:
Add Libary:Server Runtime - Apache Tomcat v7.0
最后,在jsp页面上右键preferences,修改编码格式为utf-8,完美!
根据eclipse版本不同,maven的archetype不同,可能还需要调整/统一runtime:
项目右键 - build path……略
window - preferences - server - new server runtime environment
默认tomcat会使用项目名作为根目录,比如:,不喜欢的话可以在perferences中修改:
复习:第三方类库/框架依赖管理
演示:preferences - maven - archetypes中查看
依次:file - new - project - maven project,next -> select archetype
使用spring-mvc进行filter,选择:webapp
填写:
finish,观察console:
生成的maven项目,自动带着:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.0.2.RELEASE</version> </dependency>commons-logging经常和Spring合用,但似乎可以没有?
<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency>
然后在src\main\webapp\WEB-INF\web.xml中指定了DispatcherServlet
<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>DispatcherServlet是SpringMVC的核心类(演示:F3转到定义),这样所有的HTTP请求才会被DispatcherServlet而不是默认Servlet处理。
load-on-startup=1:在项目启动时加载
然后,和上述servlet并列的加入mapping配置:
<servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>指定根目录(/)下所有的请求都会被springmvc的servlet处理。
至此,SpringMVC的开发环境就基本搭建完成。只剩最后一项:
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target>
接下来,首先配置route,在WEB-INF下添加一个springmvc-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" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- LoginController控制器类,映射到"/login" --> <bean name="/login" class="LoginController"/> </beans>
指定不同的HTTP请求由谁(Controller)处理
于是,声明一个
public class LoginController implements Controller { public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { return new ModelAndView("views/login.jsp"); } }views/login.jsp指定的是View。在webapp下添加:
首先,在eclipse上Help-Eclipse Markets中安装Spring Tools
此后一直按提示默认选项next直到finish,重启eclipse。
再新建一个Spring starter的项目:
演示:
新建Rest Controller,直接返回JSON数据:
@RestController @RequestMapping("/user") public class UserController { @GetMapping("/hasName") public boolean hasName(String username) { return false;
说明:@RestController = @Controller + @ResponseBody
演示:
TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
多快好省!前端后端,线上线下,名师精讲
更多了解 加: