详解使用Maven开发Web应用详细步骤

网友投稿 454 2023-07-12

详解使用Maven开发Web应用详细步骤

详解使用Maven开发Web应用详细步骤

开发 Web 应用的思路

实现一个简单的 jsP/Servlet。

搭建创建 Web 应用工程的环境。

创建 Web 应用工程。

Web 应用工程的目录结构。

结合 Web 服务器,发布 Web 应用。

体验 Web 应用的开发和发布测试过程。

实现经典的 MVC 版本的用户 CRUD。

熟练第 1 步中的几个方面。

结合典型的业务逻辑,实现 CRUD。

实现 Web 版 HelloWorld

1)选择 File→New→Others 命令。选择 Create Maven Project 命令,单击“下一步”按钮。选中创建 Web 应用工程的 Archetype,如图 1 所示。

也可以选择其他类似的,创建 Web 应用的都可以,比如 maven-archetype-webapp 也可以。当然,也可以选择从网上找到坐标后的 Archetype 插件,再安装进去。

怎么安装新的 Archetype 呢?单击图中的 Add Archetype… 按钮,在出现的窗口中输入在网上找到的插件坐标信息,如图 2 所示。

单击 OK 按钮,MyEclipse 会自动-该构件。重新打开创建工程的向导页面,就可以发现新增了刚刚添加的 Archetype 插件,如图 3 所示。

2)点击“next”,在下一个界面中输入新创建的 Web 工程的坐标信息和包名,如图 4 所示。

3)单击 Finish 按钮,M2Eclipse 会自动创建一个 Web 工程 MvnDemo02。其在 src/main 目录下添加了 webapp 目录,里面有 Web 应用特有的 WEB-INF 目录,web.xml 和 index.jsp 等。

其中,webapp 目录和里面的文件以及结构在 Maven 中也是固定的。这样就创建好了 Web 应用工程。

编写样例代码

工程创建好了,下一步就是写测试代码了。接下来会写 3 个代码(2 个 jsp 和 1 个servlet)。

index.jsp,里面显示输入框,能提交输入的内容,代码如下所示:

<%@page contentType="text/html" pageEncoding="UTF-8"%>

请输入问候人名:

welcome.jsp,显示问候信息,代码如下所示:

<%@page contentType="text/html" pageEncoding="UTF-8"%>

问候信息:${welcome }

welcomeServlet,接收 index.jsp 发过来的名称,生成问候信息,转给 welcome.jsp 显示。

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class WelcomeServlet

*/

public class WelcomeServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse

* response)

*/

protected void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

request.setCharacterEncoding("UTF-8");

String name = request.getParameter("name");

String welcome = "Hello," + name;

request.setAttribute("welcome", welcome);

request.getRequestDispatcher("/index.jsp").forward(request, response);

}

}

当然,除了编写代码外,还需要配置 web.xml,servlet 的,web.xml 代码如下所示:

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_2_5.xsd"

version="2.5">

MvnDemo02

30

index.jsp

WelcomeServlet

WelcomeServlet

com.mengma.demo.MvnDemo02.WelcomeServlet

WelcomeServlet

/WelcomeServlet

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_2_5.xsd"

version="2.5">

MvnDemo02

30

index.jsp

WelcomeServlet

WelcomeServlet

com.mengma.demo.MvnDemo02.WelcomeServlet

WelcomeServlet

/WelcomeServlet

构建 Web 项目

前期的构建过程同前面基本的 Java 工程一样,根据自己的需要,在 pom.xml 中配置好对应功能的插件,再运行对应的图形化菜单命令就可以了,在这里不做重复说明。

一个 Web 应用构建好后,不只是编译打包安装就可以了,还需要将它发布到 Web 服务器中进行测试调试才行。这里主要介绍两种发布到 Tomcat 7 服务器启动测试的方式。在项目开发过程中可以根据自己的需要,选择其中一种。

1. 使用 Maven 的 Jetty 插件部署 Web

在 pom.xml 中添加 Jetty 插件的坐标信息,内容如下:

org.mortbay.jetty

maven-jetty-plugin

6.1.26

${basedir}/src/main/webapp

在 MyEclipse 中配置 Web 服务器运行环境。

选择 MyEclipse 菜单 Window→Preferences 命令,打开 Preferences 窗口,选中左边树 Server→Runtime Environment,如图 5 所示。

单击右边的 Add… 按钮,弹出一个选择服务器的窗口。选中窗口中的 Apache Tomcat v 7.0 服务器,如图 6 所示。

单击 Next 按钮,进入选择 Tomat Server 配置页面,选择 Tomcat 的安装目录和 JRE 运行环境(JDK),如图 7 所示。

单击 Finish 和 Apply and Close 按钮,关闭所有配置窗口,完成 MyEclipse 中的 Web Server 配置。

右击“工程”,选择 Run As→Maven build 命令,打开自定义 launch 窗口,在 Goals 中输入启动的插件名和目标“jetty:run”,如图 8 所示。

单击 Run 按钮运行一次后,以后每次都可以在 Run As→Maven build 命令中选择重复运行。

服务器启动了,接下来打开浏览器,输入:

http://localhost:8080/MvnDemo02/index.jsp

这样就可以访问第一个页面了。

2. 使用 cargo-maven2-plugin 插件部署 Web

使用 cargo 插件相对简单,只需在 pom.xml 中进行配置,指定部署应用所需要的信息,再运行 Run As→Maven install 命令,cargo 插件自动会把打成 war 包的应用,发布到指定 Web 服务器的发布目录下。

接下来要做的是启动 Web 服务器,按以前的方式打开浏览器浏览页面。

Gargo 在 pom.xml 中的插件配置如下所示。

xmlns:xsi="http://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">

4.0.0

cn.com.mvnbook.demo

MvnDemo02

0.0.1-SNAPSHOT

war

MvnDemo02 Web App

${project.build.directory}/endorsed

UTF-8

javax

javaee-web-api

6.0

provided

junit

junit

4.8.1

test

org.mortbay.jetty

maven-jetty-plugin

6.1.26

${basedir}/src/main/webapp

org.codehaus.cargo

cargo-maven2-plugin

1.4.8

true

tomcat7x

installed

C:\work\servers\apache-tomcat-7.0.69

existing

C:\work\servers\apache-tomcat-7.0.69

cn.com.mvnbook.demo

MvnDemo02

war

MvnDemo02

installed

verify-deployer

install

deployer-deploy

clean-deployer

clean

deployer-undeploy

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.6

1.6

${endorsed.dir}

org.apache.maven.plugins

maven-war-plugin

2.1

false

org.apache.maven.plugins

maven-dependency-plugin

2.1

validate

copy

${endorsed.dir}

true

javax

javaee-endorsed-api

6.0

jar

MvnDemo02

xmlns:xsi="http://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">

4.0.0

cn.com.mvnbook.demo

MvnDemo02

0.0.1-SNAPSHOT

war

MvnDemo02 Web App

${project.build.directory}/endorsed

UTF-8

javax

javaee-web-api

6.0

provided

junit

junit

4.8.1

test

org.mortbay.jetty

maven-jetty-plugin

6.1.26

${basedir}/src/main/webapp

org.codehaus.cargo

cargo-maven2-plugin

1.4.8

true

tomcat7x

installed

C:\work\servers\apache-tomcat-7.0.69

existing

C:\work\servers\apache-tomcat-7.0.69

cn.com.mvnbook.demo

MvnDemo02

war

MvnDemo02

installed

verify-deployer

install

deployer-deploy

clean-deployer

clean

deployer-undeploy

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.6

1.6

${endorsed.dir}

org.apache.maven.plugins

maven-war-plugin

2.1

false

org.apache.maven.plugins

maven-dependency-plugin

2.1

validate

copy

${endorsed.dir}

true

javax

javaee-endorsed-api

6.0

jar

MvnDemo02

右击“工程”,选择 Run As→Maven install 命令后,就可以在 Tomcat 7 的发布目录下发现 MvnDemo02.war,启动后它就能自动发布并且能被访问。

测试

不管前面哪种方式,启动服务器后,打开浏览器,输入 http://localhost:8080/MvnDemo02/index.jsp 链接后,就可以进行测试了。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解基于SpringBoot使用AOP技术实现操作日志管理
下一篇:JVM内存结构相关知识解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~