开发前准备
- Idea开发环境
- Maven(可以使用idea提供的)
- tomcat(笔者使用的是9.0.8版本)
第一个web项目
-
打开idea并建新项目
-
弹出的项目选项中注意选择maven项目,具体选项如下
-
接下来的页面填写项目名称和组ID
-
下一页面是配置maven项目属性,maven home directory那一栏可以选择Idea自带的maven,如果自己装了最新的也可以选自己的,这里要注意的是,因为web模板默认是从远程仓库拉取的,所以如果不翻墙加载起来可能会非常慢。可以在配置属性页面更改模板的拉取源。需要做如下配置
此处archetypeCatalog属性有三个值,其中默认的是romote。含义如下:
remote,远程Maven库中提供的模板。mvn archetype:generate默认使用该类模板
internal,Apache Maven项目默认提供的模板。mvn archetype:generate -DarchetypeCatalog=internal使用该类模板
local,本地Maven库中提供的模板。mvn archetype:generate默认使用该类模板,作为remote的补充。Maven初始为空,执行mvn install时会将当前项目加入local模板库
此处可以设置成internal方便拉取模板(方法不唯一,也可以用其他方式更换拉取源)
- 此时如果可以查看一下项目的artifact,可能会发现artifact为空,这说明maven还没有将artifact配置到项目中去。
可以按以下方法查看artifact
可以发现窗口右下角有一个event log表示maven的changes没有被import进去,可以手动加载进去。
这时候就可以再次查看artifact了
- 创建项目框架
在main目录下新建一个directory取名为code,将code设置成sources root.
项目的整个框架就搭好了。 - 接下来要写第一个web项目的代码了。
在code目录下新建一个代码文件,取名SimpleServlet.java,代码如下
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SimpleServlet extends HttpServlet {
private static final long serialVersionUID = -4751096228274971485L;
@Override
protected void doGet(HttpServletRequest reqest, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().println("Hello World!");
}
@Override
public void init() throws ServletException {
System.out.println("Servlet " + this.getServletName() + " has started");
}
@Override
public void destroy() {
System.out.println("Servlet " + this.getServletName() + " has stopped");
}
}
- 配置web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>simpleServlet</servlet-name>
<servlet-class>SimpleServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>simpleServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
- 配置tomcat(需要自行下载)
tomcat是一个servlet容器,用来将发来的请求发给对用的handler。
按照下图流程配置:
- 运行程序,并在浏览器中输入localhost:8080