用Eclipse部署JavaWeb项目
下面是在Eclipse中跑web项目时一个路径
C:\Users\10301\Desktop\gz-java01\03.JavaWeb\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
URL: 统一资源定位符(网址)
URI: 统一资源标识符
http://localhost:8080/hello/1.html
协议 主机IP(端口号) URI(当前应用的资源路径)
用Tomcat的管理平台管理Web应用的生命周期
Tomcat的管理平台是Tomcat本身的一个Web应用,管理平台对应manager应用,它位于Tomcat安装目录/webapps/manager目录下。
manager应用会对用户进行安全验证。它要求用户具有manager角色。因此,应该先在Tomcat中添加具有manager角色的用户信息,方法为打开Tomcat安装目录/conf/tomcat-users.xml文件,在其中增加以下内容:
<tomcat-users> <role rolename="manager-gui"/> <user username="tomcat" password="123456" roles="manager-gui"/> </tomcat-users> |
然后登录到后台,点击下图瓣ManagerApp
在控制台使用mysqldump命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。
mysqldump –u用户名 –p密码 数据库名>生成的脚本文件路径 |
Servlet
- Servlet作用处理请求
- 当浏览器访问一个http://localhost:8080/hello/hello 路径,就向tomcat发送一个请求
1.4 Servlet生命周期(重要)
- Servlet生命周期四个状态:实例化-->初始化-->服务->销毁
- 出生:(实例化-->初始化)第一次访问Servlet就出生(默认情况下)
- 活着:(服务)应用活着,servlet就活着
- 死亡:(销毁)应用卸载了servlet就销毁。
package com.zx.web.servlet; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class HelloServlet implements Servlet{ public static void main(String[] args) { // TODO Auto-generated method stub } public HelloServlet() { System.out.println("Hello Servlet"); } @Override public void destroy() { // TODO Auto-generated method stub System.out.println("销毁"); } @Override public ServletConfig getServletConfig() { // TODO Auto-generated method stub return null; } @Override public String getServletInfo() { // TODO Auto-generated method stub return null; } @Override public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub System.out.println("初始化init"); } @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("服务Service"); //返回结果给客户端 res.getWriter().write("Hello Servlet"); } }
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>hello</display-name> <!-- 配置Servlet,也就是配置一个请求路径 --> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.zx.web.servlet.HelloServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <!-- 映射 --> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
Servlet实现的三种方式
- 实现javax.servlet.Servlet接口
-
继承javax.servet.GenericServlet类(适配器模式)
-
继承javax.servlet.http.HttpServlet类(模板方法设计模式)
package com.zx.web.servlet; import java.io.IOException; import javax.servlet.GenericServlet; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class HelloServlet3 extends GenericServlet{ @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { // TODO Auto-generated method stub res.getWriter().write("hello"); } }
package com.zx.web.servlet; import java.io.IOException; import javax.servlet.GenericServlet; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloServlet extends HttpServlet{ /** * get请求 */ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub //响应给客户端 resp.getWriter().write("hello Servlet---"); } }
url-pattern: *.do 以*.字符串的请求都可以访问 注:不要加/ |
url-pattern: /* 任意字符串都可以访问 |
url-pattern: /action/* 以/action开头的请求都可以访问 |
匹配规则: 优先级:从高到低 绝对匹配--> /开头匹配 --> 扩展名方式匹配
如果url-pattern的值是/,表示执行默认映射。所有资源都是servlet |