最终结果图,看似很简单,实则包含的内容很多。
文章目录
1.Maven
1.为什么要学习Maven?
-
在javaweb开发中,需要导入很多的jar包,我们需要手动去导入。
-
如何能够让一个东西自动帮我们导入和配置这个jar包
由此Maven诞生了!
Maven项目架构管理工具:方便导入jar包,Maven的核心思想:约定大于配置
2.Maven下载
https://maven.apache.org/download.cgi
3.解压
4.配置环境变量
在系统环境变量中进行如下配置:
- M2_HOME Maven目录下的bin目录
- MAVEN_HOME maven的目录
- 在系统的Path中配置%MAVEN_HOME%\bin
在cmd下使用mvn-version查看Maven的安装情况。
5修改一下配置文件
conf->setting
-
镜像:mirror 作用:加速下载
-
国内建议使用阿里云的镜像
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
6.本地仓库
本地仓库,远程仓库;
建立一个本地仓库:localRepository
<localRepository>D:\maven\apache-maven-3.6.3\maven-repo</localRepository>
2.Tomcat
1.Tomcat的替代品
由于IDEA社区版不支持Tomcat,所以这里使用的是一个Tomcat的插件Smart tomcat [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YMs7jY03-1609984048670)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210106214208385.png)]
不过看到网上很多人说这个插件有一些问题,所以大家使用的过程中可以多百度百度,我这里使用的是正常的。
2.可能存在的问题
在配置web项目时,需要配置tomacat应用服务器,今天在配置的时候tomact deployment中却找不到artifact,没有artifact就不能打成war包上传到服务器了,那么怎么解决没有artifact选项的问题呢?
需要注意的地方:idea配置Tomact Deployment没有artifact选项
这个可以直接百度搜索,有一些网友写的csdn,非常实用!
https://blog.csdn.net/a15076159739/article/details/94328353
按照操作步骤一步步来就好了!
3.Servlet
Servlet就是Sun公司开发动态web的一门技术
Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:
1.编写一个类,实现Servlet接口
2.把开发好的java类部署到web服务器中
把实现了Servlet接口的java程序叫做Servlet
4.HelloServlet
1.构建一个普通Maven项目
删掉里面的Src目录,以后我们在学习的时候就在Module;这个空的工程就是Maven主工程。
2.关于maven父子工程的理解:
父项目中有一个model
<modules>
<module>Servlet-01</module>
</modules>
子项目中有一个model
<parent>
<artifactId>JavaWeb-03-servlet</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
父项目的jar包,子项目可以直接使用
3.Maven环境优化
1.修改web.xml为最新的
2.将Maven的结构搭建完整
4.编写一个Servlet程序
1.编写一个普通类
2.实现Servlet接口
这里直接继承HTTPServlet,GenericServlet
package com.zz.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class HelloWorld extends HttpServlet {
//由于get或者post
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//super.doGet(req, resp);
PrintWriter writer = resp.getWriter();//响应流
writer.print("hello,servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
5.编写Servlet的映射
为什么需要映射,我们写的是java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的Servlet,还需要给他一个浏览器能够访问的路径;
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.zz.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>>
</servlet-mapping>
6.配置Tomcat
7.启动Tomcat
默认的是Hello World!
输入:http://localhost:8080/Servlet-02/hello
显示:
其中的中文显示成乱码了,没有做编码处理。
记录时间:2021年1月7日