从一个简单的web应用开始

文章内容来源于:《架构探险:从零开始写 JavaWeb 框架》     作者:黄勇


思考1、一个最简单的Web应用需要哪些jar、配置?欢迎大家留言讨论!

        1、新建一个Maven项目

        2、调整Maven配置文件pom.xml

                    统一源代码编码方式;

                    统一源代码与编译输出的JDK版本;

                    Maven打包是跳过单元测试(非必须,可选)。

        注:至此,一个Maven项目就搭建完毕了。

        3、转为Java Web项目

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

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

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

                             (实际上,使用Servlet3.0框架是可以省略web.xml的。因为Servlet无须在web.xml里 配置,只需要通过Java注解的方式来配置即可) 

        4、添加Java Web的Maven依赖

                        由于Web项目是需要打War包的,因此需要在pom.xml文件中设置packaging为war,默认为jar;

                        添加Java Web所需的Servlet、JSP、JSTL等依赖;

        5、编写简单的Web应用

                        编写Servlet类,接收Get类型的/hello请求,转发到/WEB-INF/jsp/hello.jsp页面;

                                (继承HttpServlet,让它成为一个Servlet类;覆盖父类的doGet方法,用于接收doGet请求; 在doGet方法中获取系统当前的时间,并将其放入HttpServletRequest对象中,最后转发到/WEB-INF/jsp/hello.jsp页面;使用WebServlet注解并配置请求路径,对外发布

                                        Servlet服务。)

                              编写JSP页面,使用JSTL表达式来获取从HelloServlet里传过来的currentTime请求属性。

        6、在IDEA中配置Tomcat

                                部署的时候以exploded方式部署

                          热部署设置

                                从一个简单的web应用开始

                        注:war与war exploded的区别见:理解 IntelliJ IDEA 的项目配置和Web部署

应该还有更简单的方法,待后续补充。。。。。。


1.1  使用IDEA创建一个maven项目

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

1.2  搭建web项目框架

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

    从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

1.3  编写一个简单的Web应用

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

1.4  让Web应用跑起来

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

1.5  将代码放入Git仓库中

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

从一个简单的web应用开始

附: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.chengtao</groupId>
    <artifactId>chapter1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <!--统一源代码的格式,统一使用UTF-8进行编码-->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- S  ervlet -->
        <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.5</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <!-- Test -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
                <version>2.18.1</version>
            </plugin>

            <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>