servlet学习总结
- 什么是servlet?
Servlet是一种服务器端Java应用程序
Servlet能动态响应客户端请求,生成动态的Web页面,从而扩张服务器的功能
Servlet有Servlet容器管理(Servlet的运行环境)
我们通常使用servlet是用来连接前端跟后端做交互,servlet是用来处理来自前端的请求,并给出相 应的数据。 - servlet的特点
高效:每一个请求有一个轻量级的Java线程处理
移植性好:servlet由Java编写,几乎所有的主流服务器都支持
功能强大:
1)可创建动态内容的HTML页面
2)与其他服务器资源(包括数据库和Java程序)进行通信
3)可处理多个客户机连接 - Servlet编程
Servlet不是独立的应用程序,没有main方法
Servlet不是由用户调用,而是由Servlet容器(如Tomcat)根据客户端的请求来调用
Servlet容器根据Servlet配置来查找或创建Servlet实例,并执行该Servlet
Servlet容器必须把客户端请求和响应封装成Servlet请求和Servlet响应对象传给Servlet
Servlet使用Servlet请求对象获取客户端的信息,并执行特定业务逻辑;使用Servlet响应对象向客户端发送业务执行的结果
4.简单练习
package TestServlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;import java.io.PrintWriter;
public class HelloWorld extends HttpServlet {
private String message;
@Override
public void init() throws ServletException {
super.init();
message = "Hello world.";
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<h1>" + message + "</h1>");
out.println("<a href=\"JSP_Test/Date.jsp\">Date</a>");
}
@Override
public void destroy() {
super.destroy();
}
}
然后在web.xml中手动输入如下配置
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>TestServlet.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/TestServlet.HelloWorld</url-pattern>
</servlet-mapping>
最后在浏览器输入http://localhost:8080/Hello即可访问。