第一个Servlet和Jsp
开发Servlet有3种方法
1.Servlet接口
2.继承GenericServlet
3.继承HttpServlet
Tomcat 9部署Servlet
1.Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录
2.在webapps目录下建立项目名称,例如:myapp
3.在myapp项目下建立一个WEB-INF目录和一个index.jsp文件
4. 在WEB-INF目录下建立,classes和lib目录和web.xml文件
5. classes里面放的是编译好的Servlet class,注意是编译好的class
6. lib里面放的是所需要的jar包,如:servlet-api.jar
7. startup.bat启动Tomcat,在startup.bat脚本最后一行加上pause,看到启动状态。
8. 浏览器查看
http://localhost:8080/myapp/Test
http://localhost:8080/myapp/index.jsp
//index.jsp
<html>
<body>
<center>Now time is: <%=new java.util.Date()%></center>
</body>
</html>
//web.xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
<servlet>
<!-- servlet name 任意 -->
<servlet-name>Test</servlet-name>
<!-- servlet path, package name + class name -->
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<!-- servlet name 任意 -->
<servlet-name>Test</servlet-name>
<!-- 浏览器访问这个servlet的url -->
<url-pattern>/Test</url-pattern>
</servlet-mapping>
</web-app>
//Servlet Hello.java
import javax.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Created by yaocheng on 2016/1/31.
*/
public class Hello implements Servlet {
//初始化Servlet,只调用一次
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("Init Servlet.");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
//处理业务逻辑,每次访问都调用
//servletRequest获得客户端信息,servletResponse返回客户端信息
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Servlet service.");
PrintWriter pw = servletResponse.getWriter();
pw.print("Hello World.");
}
@Override
public String getServletInfo() {
return null;
}
//销毁Servlet实例释放内存
//reload servlet / close tomcat /shutdown host
@Override
public void destroy() {
System.out.println("Destory servlet.");
}
}