初始化参数
全局初始化参数
定义在web.xml中
<context-param>
<param-name>username</param-name>
<param-value>Tom</param-value>
</context-param>
获得全局初始化参数的方法:
String username=getServletConText().getInitParameter("uesrname")
初始化参数(局部变量)
在3.0之前定义在web.xml中
<init-param>
<param-name>username</param-name>
<param-value>Tom</param-value>
</init-param>
在3.0之后定义在Servlet文件中
@WebServlet(
urlPatterns="LoginServlet",
initParams={
@WebInitParam(name="username",value="Tom")
}
)
获得当前Servlet初始化参数(局部变量的方法)
String username=getServletConfig().getInitParameter("username")
将获得的数据打印在页面
response.getWrite().println("Hello:username")
请求时支持中文
request.setCharacterEncoding(utf-8)
响应时支持中文
request.setCharacterEncoding(utf-8)
response.setContextType("text/html;charset=utf-8")
获得请求参数-----表单提交过来的user和pass
String user=request.getParameter("user");
jsp
jsp就是一个可以写java代码的html,jsp的本质是一个Servlet,因为tomcat会把jsp编译成一个Servlet的实现类,通过打印看到页面内容
jsp的9大隐式对象
①request:客户端的请求信息被封装在request对象中,通过它才能了解用户的需求,然后做出响应
②response:包含了响应客户请求的有关信息,但在JSP中使用很少
③pageContext:页面的上下文,是PageContext的一个对象,可以从该对象中获取到其他8个隐含对象,也可以获取到当前页面的其他信息
④session:指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,知道客户端与服务器断开连接为止
⑤application:代表当前web应用,是ServletContext对象,能实现用户间数据的共享,可存放全局变量,它开始于服务器的启动,直到服务器的关闭,在此期间,此对象一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命周期
⑥config:当前JSP对应的Servlet的ServletConfig对象,可获取该Servlet的初始化参数(开发时基本不用),需要通过映射的地址才可以。
⑦out:JspWriter对象,调用out.println()可以直接把字符串打印到浏览器上
⑧page:page对象就是指向当前JSP页面本身,类型为Object,有点类似于类中的this,几乎不使用
⑨exception:该对象是一个例外对象,只有页面是一个错误页面,即isErrorPage设置为true的时候(默认为false)才能使用,否则无法编译。
域对象
pageConText:对属性的作用域是当前页面
request:对属性的作用域是同一个请求
session:对属性的作用域是一次会话(默认浏览器的一次打开到关闭)
application:对属性的作用域是整个服务周期(即Servlet的开启到关闭)
void setAttribute(String,Object)设置属性
Object getAttribute(String)获取属性
请求转发和请求重定向
他们都能实现资源跳转
①请求转发只有一次请求,重定向有2次
②请求转发不能看见最终申请资源的URL,而重定向可以
③请求转发只能转发站内资源,重定向可以请求站外资源
请求转发的方法:
request.getRequestDispatcher("/NewFile1.jsp").forward(request,response)
请求重定向的方法:
response.sendRedirect("NewFile1.jsp")
网友评论