Servlet
1、HttpServlet
-
1创建Servlet
-
1在web.xml中编写 Servlet的映射
<!--注册Servlet--> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.juxiaohei.servlet.Servlet</servlet-class> </servlet> <!--Servlet的请求路径--> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>hello</url-pattern> </servlet-mapping>
2、ServketContext
web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用;
2.1、共享数据
我在这个Servlet中保存的数据,可以在另外一个servlet中拿到;
public class Servlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// this.getInitParameter() 获得初始化参数
// this.getServletConfig() 获得Servlet配置
// this.getServletContext() 获得Servlet上下文
ServletContext context = this.getServletContext();
String username = "橘小黑"; //数据
context.setAttribute("username", username);//将一个数据保存在ServletContext中;键值对,通过名称来调用
}
}
public class GetServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = this.getServletContext();
String username = (String) context.getAttribute("username"); //取出Servlet中setAttribute储存的数据
resp.setContentType("text/html"); //设置编码格式
resp.setCharacterEncoding("utf-8"); //设置编码格式
resp.getWriter().println("名字:"+username);
}
<servlet>
<servlet-name>hell</servlet-name>
<servlet-class>com.juxiaohei.servlet.Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hell</servlet-name>
<url-pattern>/hell</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>getc</servlet-name>
<servlet-class>com.juxiaohei.servlet.GetServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>getc</servlet-name>
<url-pattern>/getc</url-pattern>
</servlet-mapping>
测试访问结果:
2.2、获取初始化参数
<!--配置一些web应用的初始化参数-->
<context-param>
<param-name>url</param-name
<param-value>jdbc:mysql://localhost:3306/mybatis</param-value>
</context-param>
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = this.getServletContext();
String url = context.getInitParameter("url");
resp.getWriter().println("url是:"+url