本文是学习JavaEE开发的记录笔记
大纲
安装配置Tomcat
在Tomcat官网下载Tomcat压缩包
选择对应操作系统下载并解压缩到安装目录中
运行安装目录/bin/startup.bat出现Server startup in XXXX ms即服务器启动成功
此时打开浏览器输入Localhost:8080即可看到服务器默认主页
打开安装目录/conf/server.xml可修改默认监听端口,防止造成冲突,如修改成8081
搭建开发环境
在IDEA下创建Maven项目
- 初始Maven项目结构如下
- 改造成WEB项目结构
- 增加src/main/webapp/WEB-INF/web.xml存放WEB配置文件
- resource下增加springmvc目录存放形式如XXX-servlet.xml的SpringMVC配置文件
- 增加src/main/java/controller存放控制器文件
- 初始Maven项目结构如下
项目添加SpringMVC依赖并编写简单示例
- 在pom.xml下添加packageing标签和SpringMVC依赖
- 编写web.xml文件:
web.xml 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49<?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>SpringMVC</display-name>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--springMVC配置文件路径-->
<init-param>
<param-name>contextConfigLocation</param-name>
<!--标准SpringMVC配置文件命名为 <servlet-name>标签内容-servlet.xml -->
<param-value>classpath:springmvc/springMVC-servlet.xml</param-value>
</init-param>
<!--0/正数为WEB应用启动就加载初始化Servlet 为负数/没有设置表示Servlet被请求时才加载-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--拦截器设置 设置<url-pattern>中的请求都由<servlet-name>定义的Servlet处理-->
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<!-- /代表所有其请求-->
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--filter解决编码问题-->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!--filter适用范围-->
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app> - 因为自己改造的项目路径不是默认的WEB项目路径,编写完的web.xml有可能出现以下错误,需要将web.xml添加到WEB路径中
- 在项目中打开Project Struction
- 选择Module-Web-Deployment Descriptors-Add添加自己项目的web.xml即可
- 编写web.xml指定的SpringMVC配置文件路径下的XXX-servlet.xml:可以配置controller层的路径扫描和视图视图解析器,由于这是API开发,因此只要设置Controller的路径扫描就可以
springMVC-servlet.xml 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<?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: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/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!--扫描配置包路径下的Controller -->
<context:component-scan base-package="controller"/>
</beans> - 在指定的扫描配置包下增加一个Controller,如HelloWorld
- 在pom.xml下添加packageing标签和SpringMVC依赖
在IDEA中配置TomCat运行简单示例项目
- 选择运行时的配置
- 配置本地Tomcat服务器运行项目
- 选择使用Tomcat运行服务器并打开lcoalhost:8081/hello/world可以看到请求被Servlet拦截并转发到HelloWorld控制器
- 选择运行时的配置
Controller的编写规则
- @Controller:这是一个控制器类的注解,只有添加了注解才能被Servlet扫描到转发请求到控制器
- @RequestMapping(value=”/XXX”):拦截请求路径的名称
- 可以加在类名前或者类中方法名前
- 类名前的注解value必须加/
- 最终方法处理的请求为类名前的注解value+方法名前的注解value
- @RequestMapping(method=RequestMethod.GET/POST…):拦截请求的方式,如GET/POST/DELETE/PUT等,请求方式不正确报告HTTP405错误
- 表单请求参数的自动匹配接收:方法参数列表是提交的form表单中的字段的name相匹配的String参数列表
- 表单请求参数的注解匹配接收:参数使用注解@RequestParam(value=”from表单中字段的name”) String Controller参数名
- URL地址参数接收:如URL地址为YYY/XXX?a=1&b=abc,可以使用包装类类型+URL参数名称,如(Integer a,String b)
- 为什么使用包装类类型:若使用基本类类型,无参数传递会出现HTTP400错误,使用包装类类型无参数传递会自动传递null到参数中,不会出现HTTP错误
- 参数默认值:@RequestParam(defaultValue=””)
- 参数可选值:@RequestParam(required=false)
使用Maven的webapp快速构建WEB项目
项目结构:典型的WEB+Maven结构,pom.xml是Maven编写项目基本信息、依赖、打包配置等文件,src/main/webapp/WEB-INF为WEB项目结构,web.xml是编写WEB项目基本信息、配置文件路径等文件,index.jsp为默认首页
- pom.xml默认配置:
- 项目基本信息:modelVersion(pom文件模型版本)、groupId、artifactId、version、packaging(项目打包后缀)、name/url(项目描述)
- Maven属性:properties标签下包含的内容,如项目编码、编译版本等
- 项目依赖:dependencies标签下的内容,默认有junit依赖
- 项目的构建配置:build标签下的内容,其中有finalName(浏览器访问路径)、plugins(项目插件,其中有clean/resources/compiler/install/deploy等均是打包项目时需要用到的)
- 项目添加SpringMVC依赖并编写简单示例
- 在IDEA中配置TomCat运行简单示例项目