servlet
1 - 简介
1 - 1 什么是servlet
javaEE中一个重要的组件,主要用于处理用户的请求,可以根据不同的请求,做不同的处理方式
2 - 1 怎样使用?
-
先导包
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency>
-
自己创建一个类
如何让一个类成为servlet组件?(三要素)
-
继承HttpServlet
public class servletTest extends HttpServlet{}
-
必须声明这个servlet是用来处理哪个请求地址的(地址必须以
/
开头),两种方式-
配置web.xml
-
在类上加注解
@WebServlet("地址")
-
-
代码写哪?
重写service方法
@Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { }
service方法的两个内置参数:
该参数会在浏览器向服务器发起请求的时候访问
-
HttpServletRequest 请求对象(用户(浏览器) ==> servlet)
在发起请求时会将用户的一些信息封装到HttpServletRequest对象中
即获取从客户端发送到服务器的一些信息
-
HttpServletResponse 响应对象(servlet ==> 用户)
设置从服务端传到客户端的信息
-
-
-
配置tomcat
注意:项目中无论改动了哪,都必须重启tomcat服务器
request和response的简单应用
@WebServlet("/test")
public class servletTest extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// resqeut
System.out.println("主机名(ip)==>"+request.getServerName());
System.out.println("端口号==>"+request.getServerPort());
System.out.println("url地址==>"+request.getRequestURL());
System.out.println("url的后半部分==>"+request.getRequestURI());
System.out.println("url的后半部分==>"+request.getServletPath());
// response
PrintWriter writer = response.getWriter();
// 按字符流方式输出
// writer.write("");
// 按字节流方式输出
writer.println("<html><head><style>#wrap{width:200px;height:200px;background:red;}</style></head><body><div id=\"wrap\"></div></body></html>");
}
}