‘壹’ jsp如何读取web.xml里的配置参数
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/j2ee</param-value>
</context-param>
<context-param>
<param-name>user</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>pass</param-name>
<param-value>32l47</param-value>
</context-param>
‘贰’ web.xml配置参数
。。。xml头上有个dtd或者是xsd 那个文件就是说明
‘叁’ web.xml中的是什么意思
web.xml主要是配置web项目启动时加载的信息,比如<context-param/>配置参数, <listener/>配置你的监听器,<filter/>配置过滤器,<servlet/>配置你的servlet实现。
在WEB端实现监听实质:实现一系列的监听接口(实现相应的接口,覆写各接口中相应的方法,在相应的事件触发的时候会执行自己的监听器中的覆写的方法,在各个方法中完成自己想要的操作,从而实现了监听)。
监听--就是在进行某种各个范围(application,session,request)中有相关值的设置、修改、替换的时候,这些操作都会触发事件,而Java中事件的代理机制,事件处理是利用listener机制,所以为了在事件触发的时候能够使自己能够采取相应的措施,就需要---->继承这样的listener,在listener中覆写相应的方法,覆写相应的事件处理方法,在对应的方法中处理对应的事件,也就是进行了监听。
web.xml文件是用来初始化工程配置信息的,比如说welcome页面,filter,listener,servlet,servlet-mapping,启动加载级别等等,当你的web工程中没用到这些当然也就不需要这个xml文件来配置你的apllication了:
<?xmlversion="1.0"encoding="UTF-8"?>
<web-appversion="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>
‘肆’ web.xml配置参数context-param和init-param的区别
web.xml里面可以定义两种参数:
(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下:
<context-param>
<param-name>context/param</param-name>
<param-value>avalible ring application</param-value>
</context-param>
(2)servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml中配置如下:
<servlet>
<servlet-name>MainServlet</servlet-name>
<servlet-class>com.wes.controller.MainServlet</servlet-class>
<init-param>
<param-name>param1</param-name>
<param-value>avalible in servlet init()</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
在servlet中可以通过代码分别取用:
package com.wes.controller;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class MainServlet extends HttpServlet{
public MainServlet(){
super();
}
public void init() throws ServletException ...{
System.out.println("下面的两个参数param1是在servlet中存放的");
System.out.println(this.getInitParameter("param1"));
System.out.println("下面的参数是存放在servletcontext中的");
System.out.println(getServletContext().getInitParameter("context/param"));
}
}
第一种参数在servlet里面可以通过getServletContext().getInitParameter("context/param")得到
在JSP中可以用config.getServletContext().getInitParameter("context/param")得到
或者this.getServletContext().getInitParameter("context/param")
第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取得
‘伍’ servlet在web.xml的配置
web.xml中servlet的配置
元素是配置Servlet所用的元素。
元素在Servlet和URL样式之间定义一个映射,即servlet类提供一个url,在地址栏输入对应的映射路径就可以访问你的servlet。
下面给出一段配置代码:
ServletName
xxxpackage.xxxServlet
参数名称
参数值
ServletName
/aaa/xxx
在地址栏中输入http://localhost:8080/web-App/aaa/xxx就可以访问了。
缺省Servlet
1.如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。
2.凡是在web.xml文件中找不到匹配的元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。
3.在\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。
当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。
例1--缺省Servlet:
action
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/config/spring-mvc.xml
action
/
例2:
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/config/spring-mvc.xml
dispatcherServlet
*.do
参考:http://www.cnblogs.com/wql025/p/4804977.html
‘陆’ tomcat服务器 web.xml配置
auth-constraint元素却指出哪些用户应该具有受保护资源的访问权。此元素应该包含一个或多个标识具有访问权限的用户类别role- name元素,以及包含(可选)一个描述角色的description元素。例如,下面web.xml中的security-constraint元素部门规定只有指定为Administrator或Big Kahuna(或两者)的用户具有指定资源的访问权。
你的第一个代码 <auth-constraint>
<role-name>*</role-name>
</auth-constraint> 就是说所有的用户都可以访问到
也就是指定权限来用的。。
‘柒’ web.xml配置方法路径
你的web.xml中配置的是进入这个servlet中的dopost或者doget方法,所以你要在这个MyServlet类中先继承它的dopost和doget方法,再通过你的路径传入一个参数到这2个方法中,根据这个参数再去调用printsrt方法
public class SchoolClassServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String op = request.getParameter("op");
// 根据年级查询班级信息
if (op.equals("queryByGrade")) {
this.QueryByclassGrade(request, response);//这个方法就相当于你的printsrt方法了
}
/**
*
* 根据年级查询班级信息
*
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
public void QueryByclassGrade(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {执行代码}
}
‘捌’ 怎样配置服务器里面的Web.XML文件
servlet中web.xml配置详解(转)
这篇文章转自JavaEye,以前配置web.xml时都不知道为什么这样,看了之后明白了很多。贴下来,共同分享!
Web.xml常用元素
<web-app>
<display-name></display-name>定义了WEB应用的名字
<description></description> 声明WEB应用的描述信息
<context-param></context-param> context-param元素声明应用范围内的初始化参数。
<filter></filter> 过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。
<filter-mapping></filter-mapping> 一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。
<listener></listener>servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、修改和删除会话或servlet环境时得到通知。
Listener元素指出事件监听程序类。
<servlet></servlet> 在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。Servlet元素就是用来完成此项任务的。
<servlet-mapping></servlet-mapping> 服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。
但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。在更改缺省URL时,使用servlet-mapping元素。
<session-config></session-config> 如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。
可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,或者可利用session-config元素制定缺省超时值。
<mime-mapping></mime-mapping>如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则mime-mapping元素提供这种保证。
<welcome-file-list></welcome-file-list> 指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件。
<error-page></error-page> 在返回特定HTTP状态代码时,或者特定类型的异常被抛出时,能够制定将要显示的页面。
<taglib></taglib> 对标记库描述符文件(Tag Libraryu Descriptor file)指定别名。此功能使你能够更改TLD文件的位置,
而不用编辑使用这些文件的JSP页面。
<resource-env-ref></resource-env-ref>声明与资源相关的一个管理对象。
<resource-ref></resource-ref> 声明一个资源工厂使用的外部资源。
<security-constraint></security-constraint> 制定应该保护的URL。它与login-config元素联合使用
<login-config></login-config> 指定服务器应该怎样给试图访问受保护页面的用户授权。它与sercurity-constraint元素联合使用。
<security-role></security-role>给出安全角色的一个列表,这些角色将出现在servlet元素内的security-role-ref元素
的role-name子元素中。分别地声明角色可使高级IDE处理安全信息更为容易。
<env-entry></env-entry>声明Web应用的环境项。
<ejb-ref></ejb-ref>声明一个EJB的主目录的引用。
< ejb-local-ref></ ejb-local-ref>声明一个EJB的本地主目录的应用。
</web-app>
‘玖’ 如何配置html、servlet、web.xml
<servlet>元素是配置Servlet所用的元素。
<servlet-mapping>元素在Servlet和URL样式之间定义一个映射,即servlet类提供一个url,在地址栏输入对应的映射路径就可以访问你的servlet。
下面给出一段配置代码:
<servlet>
<servlet-name>ServletName</servlet-name>
<servlet-class>xxxpackage.xxxServlet</servlet-class> <!--Servlet的类-->
<init-param> <!--初始化一个变量,可看成全局变量,可省略-->
<param-name>参数名称</param-name> <!--变量名称-->
<param-value>参数值</param-value> <!--变量值-->
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ServletName</servlet-name>
<url-pattern>/aaa/xxx</url-pattern> <!--映射的url路径 -->
</servlet-mapping>
在地址栏中输入http://localhost:8080/web-App/aaa/xxx就可以访问了。
缺省Servlet
1.如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。
2.凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。
3.在<tomcat的安装目录>\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。
当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。
‘拾’ myeclipse做webservice开发,如何读取配置文件中web.xml中设置的参数
想请问你的web.xml是否是你自已定义的xml文件
1.是的话,那很简单。DOM或是SAX解析随便找一种方法就好
2.不是,说明是你web的配置目录,你可以在使用节点加一个
<init-param>
<param-name>firstparam</param-name>
<param-value>firstparamvalue</param-value>
</init-param>
然后在方法里面获得
<%
String Str1;
Str1=config.getInitParameter("firstparam");
Out.println(Str1);
%>
不知道能否帮到你^^
--------------------------------------
方法很多。csdn帮你看了下
在tomcat 的C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost 目录下建立一个xml文件,文件名是你的应用的名字
类似于这样:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\sc114" path="/sc114" workDir="work\Catalina\localhost\sc114">
<Resource name="jdbc/UBSS_DS" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/UBSS_DS">
<parameter>
<name>maxWait </name>
<value>5000 </value>
</parameter>
<parameter>
<name>maxActive </name>
<value>4 </value>
</parameter>
<parameter>
<name>password </name>
<value>xunqin </value>
</parameter>
<parameter>
<name>url </name>
<value>jdbc:oracle:thin:@192.168.14.178:1521:orcl </value>
</parameter>
<parameter>
<name>driverClassName </name>
<value>oracle.jdbc.OracleDriver </value>
</parameter>
<parameter>
<name>maxIdle </name>
<value>2 </value>
</parameter>
<parameter>
<name>username </name>
<value>xunqin </value>
</parameter>
</ResourceParams>
</Context>
//web.xml 里面映射资源
<resource-ref>
<description>DB Connection </description>
<res-ref-name>jdbc/UBSS_DS </res-ref-name>
<res-type>javax.sql.DataSource </res-type>
<res-auth>Container </res-auth>
</resource-ref>
程序里面这样访问:
try{
DataSource ds = null;
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/UBSS_DS");
Connection conn = ds.getConnection();
//这里拿到了connection对象后,你想干啥就干啥吧
}catch(Exception e){
System.out.println("**********");
e.printStackTrace();
return null;
}
//tomcat不同的版本 配置可能稍有不同,有的配置在server.xml里面,自己去研究下,网上多的一大把