从零开始写javaweb框架笔记2-搭建web项目框架

时间:2021-04-27 13:13:24

    在前面我们已经创建了一个maven项目,但是pox.xml中还没有任何的maven依赖,随后会添加一些java web所需的依赖。在添加java web的依赖之前,我们需要把maven项目转换为java web项目结构。

1.    把maven项目转换为java web项目结构非常的简单,按如下的步骤操作即可:

1)在main目录下,添加webapp目录。

2)在webapp目录下,添加WEB-INF目录。

3)在WEB-INF目录下,添加web.xml文件。

按照上面三步操作完成以后,会出现IDEA给我们的一个提示,我们点击configure按钮,会看到一个确认框,单击ok,按钮就可以把当前项目变成web项目。

在接下来的代码中,我们需要使用servlet3.0框架,所以在web.xml中添加如下代码:

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http;//java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">

</web-app></span>

2.添加java web的maven依赖

   由于web项目是需要打war包的,因此必须在pom.xml文件里设置packaging为war(默认为jar),配置如下:

<span style="font-size:14px;"><packaging>war</packaging></span>
接下来就需要添加java web所需的servlet,jsp,jstl等依赖,添加如下配置:

 <span style="font-size:14px;"><dependencies>
<!--Servlet-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

<!--JSP-->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>

<!--JSTL-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
</dependencies></span>

需要说明的是:

1)Maven一类的三坐标groupId,artifactId,version必须提供。

2)如果某些依赖只需参加编译,而无必须参与打包(eg,tomcat自带servlet与jsp所对应的jar),可将其scope设置为provided。

3)如果某些依赖只是运行时需要,但无须参与编译(例如,jstl的jar),可将其scope设置为runtime。

以下是pom.xml的完整代码:

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.smart4j</groupId>
<artifactId>chapter1</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<!--Servlet-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

<!--JSP-->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>

<!--JSTL-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
</dependencies>

<build>
<plugins>
<!--Compile-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<!--Test-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<!--Tomcat-->
<!--<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/${project.artifactId}}</path>
</configuration>
</plugin>-->
</plugins>
</build>
</project>
到此为止一个基于Maven的java web项目已经搭建完毕,随后可进入具体的开发阶段。后面的将从一个简单的servlet3.0框架开始入手学习。