服务器配置好之后,下面就应该为服务器配置虚拟目录,虚拟目录中存放开发的各种代码。如果要想配置虚拟目录,则首先必须明确的知道虚拟目录的基本目录结构:
WEB ROOT à 虚拟目录就配置到此目录之上
|- WEB-INF
|- web.xml:WEB的部署描述符
之后,要在Tomcat中将此目录配置上去,与一个具体的路径相关联,修改conf/server.xml文件:
<Context path="/test" docBase="E:\demoweb"/>
以后在浏览器上就可以通过输入test找到demoweb下的所有程序。
<b>注意:</b>对于服务器而言,如果修改配置文件之后,则一定要重新启动。
之后输入:[url]http://localhost:8080/test/[/url],就可以通过映射名称找到具体内容了。Tomcat 5.5不像之前的版本,会自动把所有的文件通过页面列出,如果要想看所有的文件,则要修改conf/web.xml文件修改。
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<param-name>listings</param-name>
<param-value><b>true</b></param-value>
<load-on-startup>1</load-on-startup>
</servlet>
此时,就可以看见此目录的列表:
编写第一个JSP程序,在页面上打印“Hello World!!!”。
JSP代码是在HTML中插入JAVA代码。
<b>hello.jsp</b><b>:</b>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<%
// 这中间编写JAVA代码
out.println("Hello World!!!") ;
%>
</BODY>
</HTML>
此时,程序就可以正常的执行JSP文件了。
正常情况下,ln应该表示换行,但是HTML中会忽略此换行。
out.println("Hello World!!!<br>") ;
发现,可以通过JSP控制HTML代码的输出,当然,也可以控制JavaScript代码的输出。
<b>修改运行端口</b>
Tomcat的默认的端口号是:8080。可以通过修改server.xml文件修改默认的端口号。
<Connector port="80" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
如果修改为80之后,所有的地址,输入的时候就不用再输入端口号了。
之前在执行JSP的时候,发现程序的第一次执行会比较慢,而之后的执行速度会较快,因为Tomcat在JSP第一次运行的时候会将*.jsp à *.java à *.class,而第二次执行的时候,就直接执行*.class了,所以第一次较慢。
在tomcat中的work目录下,保存了所有的临时生成的文件。
动态Web的最大特点:是具有交互性,交互性的最大体现是在于表单上,用户通过表单提交信息给服务器,服务器接收请求并回应内容。
服务器接收表单操作的方法:request.getParameter("参数名称") à String
<b>input.htm</b><b>:</b>
<HEAD><TITLE> New Document </TITLE></HEAD>
<form action="input.jsp" method="post">
请输入内容:<input type="text" name="info">
<input type="submit" value="提交">
</form>
此页面在表单的文本框中输入内容,之后把所有的内容提交给input.jsp,在input.jsp上显示用户输入的内容。
<b>input.jsp</b><b>:</b>
<b>String str = request.getParameter("info") ;</b>
out.println("<h1>"+str+"</h1>") ;
本文转自 李兴华 51CTO博客,原文链接:http://blog.51cto.com/lixinghua/101363,如需转载请自行联系原作者