Servlet基础代码
Servlet的实现
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;
@WebServlet("/ser")
public class Servlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("hello");
resp.getWriter().write("hello");
}
}
Servlet的生命周期
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;
@WebServlet("/ser01")
public class Servlet01 extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("init....");
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("service....");
}
@Override
public void destroy() {
System.out.println("destroy....");
}
}
获取请求参数
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;
@WebServlet("/ser02")
public class Servlet02 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String queryString = req.getQueryString();
System.out.println("获取请求行中的参数部分"+ queryString);
String name = req.getParameter("name");
String pwd = req.getParameter("pwd");
System.out.println("姓名:"+name+",密码:"+pwd);
String[] arr = req.getParameterValues("hobby");
for (int i = 0; i < arr.length ;i++){
System.out.println(arr[i]);
}
}
}
请求乱码处理
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="ser03" method="post">
姓名:<input type="text" name="names">
<button>登录</button>
</form>
</body>
</html>
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;
@WebServlet("/ser03")
public class Servlet03 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
System.out.println(req.getParameter("names"));
}
}
请求转发
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="ser04" method="post">
姓名:<input type="text" name="names">
密码:<input type="password" name="paw">
<button>登录</button>
</form>
</body>
</html>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>JSP - Hello World</title>
</head>
<body>
<%-- 数据共享 Servlet04--%>
<%
String name = request.getParameter("names");
String paw = request.getParameter("paw");
out.print("名字:"+name+",密码:"+paw);
%>
<br>
<%
//获取request作用域 Servlet05
String names = (String) request.getAttribute("username");
//在浏览器中打印
out.print(names);
//获取集合
// List<String> list = (List<String>) request.getAttribute("list");
// out.print(list.get(0));
%>
<br/>
<a href="hello-servlet">Hello Servlet</a>
</body>
</html>
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;
@WebServlet("/ser04")
public class Servlet04 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
System.out.println("Servlet....");
String name = req.getParameter("names");
String paw = req.getParameter("paw");
System.out.println("名字:"+name+",密码:"+paw);
req.getRequestDispatcher("index.jsp").forward(req,resp);
}
}
request作用域
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="ser05" method="post">
姓名:<input type="text" name="names">
密码:<input type="password" name="paw">
<button>登录</button>
</form>
</body>
</html>
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.util.ArrayList;
import java.util.List;
@WebServlet("/ser05")
public class Servlet05 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
System.out.println("Servlet05....");
String name = "李祥";
String paw = "asd.123";
List<String> list = new ArrayList<>();
list.add("ada");
list.add("aaa");
req.setAttribute("username",name);
req.setAttribute("password",paw);
req.setAttribute("list",list);
req.getRequestDispatcher("index.jsp").forward(req,resp);
}
}