构建一个普通的 maven项目
,删掉src目录,以后这个工程就是主工程,通过在里面建立moudel进行学习
在主工程中添加依赖
javax.servlet
javax.servlet-api
4.0.1
provided
javax.servlet.jsp
javax.servlet.jsp-api
2.3.3
provided
关于 maven父子工程
的理解
父项目中会有
servlet-01
子项目中会有(没有需要手动添加)
javaweb-02-servlet
org.example
1.0-SNAPSHOT
maven环境优化
修改web.xml
将maven环境搭建完整
编写一个servlet程序
注意:servlet借口有sun公司编写了两个默认的实现类
HttpServlet
编写一个普通类
通过继承HttpServlet实现Servlet接口
public class HelloServlet extends HttpServlet {
//由于get或者post只是请求实现的不同方式,可以相互调用
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer=resp.getWriter();
writer.print("Hello,Servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
编写Servlet的 映射
为什么需要映射?
我们写的是Java程序,但是需要通过浏览器进行访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的servlet,还需要给他一个浏览器能够访问的路径。
hello
com.yu.servlet.HelloServlet
hello
/hello
配置 tomcat
注意核对一下几项:
Application server
JRE
HTTP port
JMX port
启动错误原因总结:
pom文件没有配置好,检查子项目的配置文件,把重复的属性值删除(文件仅供参考)
javaweb-02
com.yu
1.0-SNAPSHOT
4.0.0
servlet-01
war
servlet-01 Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
junit
junit
4.11
test
检查导入依赖,如果在external libraries 没有相应依赖会导致启动失败
javax.servlet.jsp.api
javax.sevlet.api
maven:junit
maven:hamcresrt-core
检查tomcat配置
环境变量
deployment
server
1、如果没有 artifacts
,可以刷新一下项目的maven库;
或者到setting中: settings—>bulid…—>Bulid Tools —> Maven—>Improting—>选中Impor Maven projects automatically—>Apply —> OK
2、看看效果