Servlet简介
Servlet是什么
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
Servlet的优势
- 性能明显更好
- Servlet 在 Web 服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求
- Servlet 是独立于平台的,兼容性强,因为它们是用 Java 编写的。
- 服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet 是可信的。
- Java 类库的全部功能对 Servlet 来说都是可用的。它可以通过 sockets 和 RMI 机制与 applets、数据库或其他软件进行交互。
Servlet小应用之实现网络请求
注意,如果你是使用Eclipse进行Java Web开发,需要手动导入Servlet包,该包其实已存在tomcat运行包中,所以添加tomcat的runtime依赖即可。步骤如下:
项目上单击右键 –> Properties –>Java Build Path –> Libraries –>Add Library –> Apply即可,如图:
之后就是在src下新建包,在包下新建类,进入类文件,类TestSevlet继承自HttpServlet
package com.xiaoxian.demo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestSevlet extends HttpServlet {
/**
* 做get请求
* @param req 请求体
* @param resp 响应体
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取客户端传递的参数
String userName = req.getParameter("userName");
//设置响应头
resp.setContentType("text/html;charset=utf-8");
//io流,向响应体写入信息
PrintWriter writer = resp.getWriter();
writer.write("<h1>哈哈哈</h1>");
writer.flush();
writer.write("<a>" + userName + "</a>");
writer.close();
}
}
在web.xml文件中注册Servlet信息
<servlet>
<servlet-name>demo</servlet-name>
<servlet-class>com.xiaoxian.demo.TestSevlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo</servlet-name>
<url-pattern>/testsevlet</url-pattern>
</servlet-mapping>
运行效果
把项目添加到tomcat容器中后,启动tomcat。
在浏览器中输入网址:http://localhost:8080/servletDemo/testsevlet?userName=haha
就可以看到如下页面显示效果: