JavaWeb的存取数据实例

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_3_1.xsd"
         version="3.1">
    <context-param>
        <param-name>name</param-name>
        <param-value>root</param-value>
    </context-param>
    <servlet>
        <servlet-name>Servlet1</servlet-name>
        <servlet-class>Servlet.Servlet1</servlet-class>
        <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>
    </servlet>
    <servlet>
        <servlet-name>Servlet2</servlet-name>
        <servlet-class>Servlet.Servlet2</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet1</servlet-name>
        <url-pattern>/S1</url-pattern>//访问路径,可以有多个例如:
//      <url-pattern>/S11</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Servlet2</servlet-name>
        <url-pattern>/S2</url-pattern>//同上
    </servlet-mapping>
</web-app>

Servlet1

package Servlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
//上方"import"为引入类
public class Servlet1 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);//调用get访问方法。
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");//设置编码格式,否则输出为乱码或"???"
        PrintWriter out=response.getWriter();
        //获取域对象
        ServletContext context=this.getServletContext();
        //取数据
        String value=(String)context.getAttribute("user");//获取"user"的值,并赋值给"value"。
        out.print(value);//页面输出"value",与控制台输出不同:"System.out.println(value);"

    }
}

Servlet2

package Servlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
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 Servlet2 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");//编码格式
        PrintWriter out=response.getWriter();
        ServletContext context=this.getServletContext();//定义类(调用)
        context.setAttribute("user","管理者");//调用刚定义的类,去存数据(set:存,get:取,setAttribute:存,getAttribute:取)
/*
名为"user",值为"管理者"。
Ps:获取编号,知道他是什么内容。
例如获取user,知道它的内容是管理者。
再比如:知道一首诗的名字是***,这首诗的内容为*****
*/
        out.write("现在是“/S2”,请在地址栏改为“/S1!”");//页面输出内容
    }
}