一.tomcat无法启动问题
1.系统环境变量未配置 2.防火墙进行了拦截(可以关闭防火墙)
二.端口占用问题:
1.主机程序占用 2.tomcat目录下启动startup会使用tomcat主页程序占用端口,导致eclipse中启动项目报端口占用错误(即不要启动startup.bat程序,.bat为windows程序,.sh为linux程序)
三.项目启动
1.项目启动后,会直接访问web.xml中配置的默认index主页面或者default缺省页面。
2.如果需访问对应的servlet,则需在url中添加对应的servlet路径。
方法一:在WebContent中使用@WebServlet("/hello")相当于建立虚拟路径,访问url虚拟/hello路径并映射到该文件中(/hello可以改为其他任意名字
方法二: 在web.xml中进行配置。servlet-mapping和servlet标签中的servlet-name的值要相同;servlet标签中的servlet-class标签中对应servlet类的src文件夹下的全路径;url-pattern为配置的虚拟映射路径
<servlet> <!--web.xml的servlet片段-->
<description></description> <!--描述-->
<display-name>MyServlet2</display-name> <!--显示名-->
<servlet-name>MyServlet2</servlet-name> <!--servlet名-->
<servlet-class>a.MyServlet2</servlet-class> <!--servlet所在位置-->
</servlet>
<servlet-mapping>
<servlet-name>MyServlet2</servlet-name> <!--需要与servlet中的servlet-name名相同-->
<url-pattern>/bb</url-pattern> <!--这里的地址即html文件中href需要访问的超链接地址,可以随意设置-->
</servlet-mapping>
四.连接Mysql数据库
1.将jdbc.jar包直接拖动到WEB-INF下的lib文件夹,不能由eclipse的其他项目复制粘贴
2.index.html中使用href超链接连接至对应的servlet文件
当没有配置web.xml中的<servlet-mapping>:href后可任取名字,猜想是tomcat发现超链接没有对应的servlet文件地址便自动查找了当前项目下的servlet文件作为默认打开。
配置了web.xml中的<servlet-mapping>:href后必须取<servlet-mapping>中对应servlet的<url-pattern>路径
五.Servlet是位于Web服务器内部的服务端的JAVA类,tomcat是运行servlet的容器
六.Mysql服务存在Mysql和Mysql80两个服务,无法启动时关闭80服务