ServletTest01
package com.bky.dto;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
public class ServletTest01 implements Servlet {
public ServletTest01() {
System.out.println("1.执行了构造方法");
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("2.servlet启动");
//servletConfig.getServletName();获取的时配置文件的别名
String servletName = servletConfig.getServletName();
System.out.println(servletName);
//<init-param> 根据key获取值 只可以在一个类中使用
String username = servletConfig.getInitParameter("username");
System.out.println(username);
//域对象(像map一样存取值) 设置的值在整个web工程里面都可以访问到
ServletContext servletContext = servletConfig.getServletContext();
servletContext.setAttribute("aaa","bbb");
String realPath = servletContext.getRealPath("/");
System.out.println(realPath);
}
@Override
public ServletConfig getServletConfig() {
return null;
}
/**
*service 主要是处理浏览器和服务器之间的请求和响应
* 请求 Request
* 响应 Response
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("3.执行service方法");
HttpServletRequest httpServlet= (HttpServletRequest)servletRequest;
String method =httpServlet.getMethod();
//是在HttpServletRequest里面的方法
//可以获取到浏览器具体的提交类型
if(method.equals("GET")){
doGet(servletRequest,servletResponse);
}else if(method.equals("POST")){
doPost(servletRequest,servletResponse);
}
}
public void doGet(ServletRequest servletRequest, ServletResponse servletResponse){
//只能传递一个
String username = servletRequest.getParameter("username");
System.out.println(username);
System.out.println("处理get请求");
//能够传递所有
String[] usernames = servletRequest.getParameterValues("username");
for (String s:usernames ) {
System.out.println(s);
}
}
public void doPost(ServletRequest servletRequest, ServletResponse servletResponse){
System.out.println("处理post请求");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
System.out.println("4.执行销毁方法(在tomcat关闭时)");
}
}
test.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>get请求提交数据</title>
</head>
<body>
<form action="http://localhost:8899/ServletTest01" method="get">
<input type="hidden" name="username" value="bky">
<input type="hidden" name="username" value="bky1">
<input type="hidden" name="username" value="bky2">
<input type="submit"/>
</form>
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>ServletTest01</servlet-name>
<servlet-class>com.bky.dto.ServletTest01</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>bky</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ServletTest01</servlet-name>
<url-pattern>/ServletTest01</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ServletTest02</servlet-name>
<servlet-class>com.bky.dto.ServletTest02</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletTest02</servlet-name>
<url-pattern>/ServletTest02</url-pattern>
</servlet-mapping>
</web-app>
结果