1.单词
initialize 初始化 pattern模式 exception 例外 generic 类的 一般的 config 配置 布局
context 环境 destory 破坏 消灭 service 服务
2.JSP和Servlet的关系
JSP本质就是一个Servlet,它实际上是为了简化Servlet的开发而产生,避免了编写繁杂的输入方法,更加适用于开发带有页面内容的表示层组件(可视化页面)。在现在javaweb应用中,jsp负责页面展示。servlet负责接受和请求和响应数据。
3.如何创建一个Servlet应用
-
导入javax.servlet-api.jar和jsp-api.jar依赖
-
创建Servlet
-
继承HttpServlet
-
重写doPost()或doGet()方法
-
-
配置web.xml文件
-
启动Tomcat,访问Servlet
4.如何访问Servlet
表单提交的路径(action属性)指向web.xml文件中<url-pattern>元素所指定的URL,即可访问对应的Servlet。
5.Servlet获取常用Jsp内置对象
1.request
在servlet的doGet和doPost的参数中就有HttpServletRequest req参数,而JSP内置request对象就是HttpServletRequest接口的实例化对象,可以直接使用req。
2.response
在servlet的doGet和doPost的参数中就有HttpServletResponse resp参数,而JSP内置response对象就是HttpServletResponse接口的实例化对象,可以直接使用resp。
3.session
在servlet程序中要获取session对象,可以通过HttpServletRequest接口完成
HttpSession ses = req.getSession() ;
System.out.println("SESSION ID --> " + ses.getId()) ;
ses.setAttribute("username","admin") ; // 设置session属性
4.application
application内置对象是ServletContext接口的实例,表示的是Servlet上下文,如果要在一个Servlet中使用此对象,直接通过GenericServlet类提供的方法即可(注意,如果重写了init(ServletConfig config)方法,需要在方法内调用super.init(config))
//方法一:
ServletContext app = super.getServletContext() ;
System.out.println("真实路径:" + app.getRealPath("/")) ;
//方法二:重写init(ServletConfig config)方法,使用config.getServletContext()获取
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
ServletContext application = config.getServletContext();
System.out.println("servlet初始化==============");
Integer count = null;
application.setAttribute("count",count);
}
5.config
config内置对象实际上是ServletConfig接口的实例,在Servlet程序中的(ServletConfig config)方法里找到ServletConfig接口实例
6.out
out对象是javax.servlet.jsp.JspWriter类的实例化对象,此类继承于java.io.Writer类,然后在HttpServletResponse resp对象中可以获取java.io.PrintWriter类的实例化对象,而java.io.PrintWriter类同样继承于java.io.Writer类,所有out对象可以通过resp.getWriter()获取到