Application对象

来源:互联网 发布:mysql update select 编辑:程序博客网 时间:2024/05/01 12:09

Application对象

       session类似,也是有来保存信息,实现不同页面的参数传递;但是Appliation是所有用户共享 ,任何用户都可以访问,session对象则是每个用户是么有的

application属于javax.servlet.ServletContext

此工作目录的路径不是固定的,有可能此工作目录在C盘上或是D盘上

得到工作目录的真实路径:public String getRealPath(String path)

需要一参数: /

applicatin是在整个服务器中保持的只有一个实例的对象

在实际应用中往往使用getServletContext()方法代替application

<h1><%=application.getRealPath("/")%></h1><%--返回当前的路径名根目录--%>

<h1><%=getServletContext().getRealPath("/")%></h1>

问题?为什么此方法没有使用对象调用?

       所有的web处理程序,有一个web容器的扶持,实际上此方法是由容器调用的

              out 对象

 

开发原则:     

       HTML代码 JAVA代码分离,如果要输出内容,尽量使用表达式出(<%=%>)

要用<%=%>完全代替<%out.println()%>

 

提高讲解:JSP安全性及config对象的应用

J2EE中安全性体现 :工作目录的WEB-INF文件夹

如果能够将一个页面保存在WEB-INF文件夹下, 安全性高不高?,

,但是页面无法发现

 

解决一个问题;使用页面能够被用户所访问

解决方法:WEB-INF文件夹之下存在一个Web.xml文件

web.xml文件:属于整个Web站点的配置文件

<servlet>

       web.xml文件内部起作用,servlet-mapping关联

<servlet-name>mldn</servlet-name>

找到jsp的路径,此路径一般都保存在WEB-INF之中

<jsp-file>/WEB-INF/sdemo.jsp</jsp-file>

</servlet>

       <servlet-mapping>

              web.xml文件内部起作用,<servlet>中的servlet-name完全一致

              <servlet-name>mldn</servlet-name>

              网页上输入的实际路径地址

              <url-pattern>/lxh</url-pattern>

</servlet-mapping>

                     Config对象

Cofig对象一般用来取得服务器的初化始配置参数,但若要使用此对象就在WEB-INF/web.xml之中配置

要使用config对象的前提:JSP 页面必须在web.xml中进行配置

       <servlet>

       <servlet-name>mldn</servlet-name>

       <jsp-file>/WEB-INF/sdemo.jsp</jsp-file>

       <init-param>

              <param-name>uname</param-name>

              <param-name>mldn</param-value>

       <init-param>

       <init-param>

              <param-name>upass</param-name>

              <param-name>lxh</param-value>

       <init-param>

</servlet>

<servlet-mapping>

       <servlet-name>mldn</servlet-name>

       <url-pattern>/lxh</url-pattern>

</servlet-mapping>

如果要取得这些初始化参数,必须通过映射名称进行访问JSP页面,才可以取得初始化参数,就通过config对象取得

 

<h1><%=config.getInitParameter("uname")%></h1><!-- 取得在web.xml中初始化的参数-->

就是面的代码

<init-param>

              <param-name>uname</param-name>

              <param-name>mldn</param-value>

       </init-param>

       <init-param>

              <param-name>upass</param-name>

              <param-name>lxh</param-value>

       </init-param>

 

<h1><%=config.getInitParameter("upass")%></h1>

输入的地址是; http://localhost/test/lxh

通过此种功能,可以将数年库的一些信息写在配置文件之中—JDBC程序的时候

public java.util.Enumeration getInitParameterNames()

 
原创粉丝点击