TOMCAT+APACHE整合后修改的原始默认网页完成,本以为已经完成整合的配置,但是发现在发布servlet应用时要注意的有:
在JSP网页上应用servlet时必须要符合apache的httpd.conf设置,例:
在apache整合tomcat后的httpd.conf设置关键的地方如下:
LoadModule jk_module modules/mod_jk_2.0.47.dll
JkWorkersFile "C:/Program Files/Apache/Apache2/conf/workers.properties"
JkLogFile logs/mod_jk2.log
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
上面的几条语句在最后两条是关键,也就是说,在apache处理到/servlet/*或/*.jsp这样的URL时就会把处理权交给tomcat!
知道上面的意思后,我们在设计jsp网页时应用servlet时就要注意这个,比如我们设计一个网页如下(请注意红色的地方):
<html>
<head>
<title>helloapp</title>
</head>
<body >
<br>
<form name="loginForm" method="post" action="/servlet/dispatcher">
<table>
<tr><td><div align="right">User Name:</div></td><td> <input type="text" name="username"></td></tr>
<tr><td><div align="right">Password:</div></td><td><input type="password" name="password"></td></tr>
<tr><td></td><td><input type="Submit" name="Submit" value="Submit"></td></tr>
</table>
</form>
</body>
</html>
我们在action应该和上面所说的什么文件交给tomcat处理的标准一样!也就是在servlet应用时我们应该在类名前面加上/servlet/这样就可以用apache的端口像访问jsp网页一样访问servlet。
接着我们在网页路径下的WEB-INF目录下修改web.xml文件也是和上面的一样,加入类名的访问地址前要加上/servlet/,例如:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>mypack.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/servlet/dispatcher</url-pattern>
</servlet-mapping>
以上是本人的一些经历,特写成笔记以备以后碰到问题!希望也能帮到大家!