用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文件,在其中增加以下内容:
然后登录到后台,点击下图瓣ManagerApp
在控制台使用mysqldump命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。
mysqldump –u用户名 –p密码 数据库名>生成的脚本文件路径
Servlet
Servlet作用处理请求
当浏览器访问一个http://localhost:8080/hello/hello 路径,就向tomcat发送一个请求
1.4 Servlet生命周期(重要)
Servlet生命周期四个状态:实例化-->初始化-->服务->销毁
出生:(实例化-->初始化)第一次访问Servlet就出生(默认情况下)
活着:(服务)应用活着,servlet就活着
死亡:(销毁)应用卸载了servlet就销毁。
packagecom.zx.web.servlet;importjava.io.IOException;importjavax.servlet.Servlet;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;public class HelloServlet implementsServlet{public static voidmain(String[] args) {//TODO Auto-generated method stub
}publicHelloServlet() {
System.out.println("Hello Servlet");
}
@Overridepublic voiddestroy() {//TODO Auto-generated method stub
System.out.println("销毁");
}
@OverridepublicServletConfig getServletConfig() {//TODO Auto-generated method stub
return null;
}
@OverridepublicString getServletInfo() {//TODO Auto-generated method stub
return null;
}
@Overridepublic void init(ServletConfig config) throwsServletException {//TODO Auto-generated method stub
System.out.println("初始化init");
}
@Overridepublic void service(ServletRequest req, ServletResponse res) throwsServletException, IOException {//TODO Auto-generated method stub
System.out.println("服务Service");//返回结果给客户端
res.getWriter().write("Hello Servlet");
}
}
hello
HelloServlet
com.zx.web.servlet.HelloServlet
2
HelloServlet
/hello
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
Servlet实现的三种方式
实现javax.servlet.Servlet接口
继承javax.servet.GenericServlet类(适配器模式)
继承javax.servlet.http.HttpServlet类(模板方法设计模式)
packagecom.zx.web.servlet;importjava.io.IOException;importjavax.servlet.GenericServlet;importjavax.servlet.Servlet;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;public class HelloServlet3 extendsGenericServlet{
@Overridepublic void service(ServletRequest req, ServletResponse res) throwsServletException, IOException {//TODO Auto-generated method stub
res.getWriter().write("hello");
}
}
packagecom.zx.web.servlet;importjava.io.IOException;importjavax.servlet.GenericServlet;importjavax.servlet.Servlet;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;public class HelloServlet extendsHttpServlet{/*** get请求*/@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {//TODO Auto-generated method stub//响应给客户端
resp.getWriter().write("hello Servlet---");
}
}
url-pattern: *.do 以*.字符串的请求都可以访问 注:不要加/
url-pattern: /* 任意字符串都可以访问
url-pattern: /action/* 以/action开头的请求都可以访问
匹配规则:
优先级:从高到低
绝对匹配--> /开头匹配 --> 扩展名方式匹配
如果url-pattern的值是/,表示执行默认映射。所有资源都是servlet