Web应用中的XML解析
我在Eclipse下写了个.xml文件,又写了个Servlet来解析,看书上说应该在web.xml中配置这个Servlet使加载Web应用时就加载这个Servlet,这个web.xml应该怎么写啊,怎么我写的总是报错呢?
------解决方案--------------------<web-app>
<servlet>
<servlet-name>servletname</servlet-name> <!--任意名-->
<servlet-class>TestServlet</servlet-class> <!--TestServlet是已编译的.class文件-->
</servlet>
<servlet-mapping>
<servlet-name>servletname</servlet-name> <!--与'任意名'要对应-->
<url-pattern>/first</url-pattern> <!--使first映射到刚刚的Servlet-->
</servlet-mapping>
</web-app>
<!--这样只要在浏览器中输入http://127.0.0.1/RootName/first就会访问到Servlet-->
<!--RootName是你自己的根目录-->
------解决方案--------------------如果要建立一个虚拟目录/MyWeb,通过访问http://localhost:8080/MyWeb可以看D:\Test(物理
地址)中的内容。那么就要做如下的配置(Tomcat 6.0)
在Tomcat的安装目录的conf/server.xml里找到
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
在上句的下面加上:
<Context path="/MyWeb" docBase="D:\Test" reloadable="true" debug="0"></Context >
在conf下的web.xml文件中找到:
<init-param >
<param-name >listings </param-name >
<param-value >false </param-value >
</init-param >
把这个false设成true就行了;
还有就是D:\Test中应该有WEB-INF(全部大写)文件,WEB-INF下要有classes文件,classes中放的
的就是你的.class文件,web.xml放在WEB-INF目录下,就可以了;
------解决方案--------------------建立虚拟目录并配置连接池.
在%tomcat%\conf\Catalina\localhost\目录下建立一个与工程同名的xml文件.这里工程叫webframe,所以建立webframe.xml文件,打开文件添加如下内容.
<Context path="/webframe" docBase="D:\myapp\Apache Software Foundation\Tomcat 5.5\webapps\webframe"
reloadable="true" crossContext="true" debug="0" >
<Resource name="jdbc/mytest" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=gbk&autoReconnect=true"/>
</Context>
上面,需要更改path为"/<工程名>",docBase为"<该工程路径>",username为数据库用户名,password为数据库密码,url为"jdbc:mysql://<数据库服务器ip>:端口号/<数据库名>?useUnicode=true&characterEncoding=编码方式".
------解决方案--------------------如现500错误是WEB服务器问题,最大的可能是你的WEB。XML文件不干净,可能有不一样编码的字符。