作业六JSP读取表单元素
1. 理解服务器端语言的执行
2. 了解JSP部署环境
3. 掌握JSP常用页面元素和内置对象
4. 编写一JSP读取表单的程序
练习内容
步骤一:在E:盘下建一个test文件夹,并将课本中的4-01.jsp文件拷贝至该文件夹下。然后在Tomcat的配置文件server.xml中,找到
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
并在下方添加如下内容:
<Context path="/test" docBase="e:/test" debug="0" reloadable="true"
crossContext="true"></Context>
重新启动Tomcat,然后在浏览器中输入http://localhost:8080/test/4-01.jsp,检查是否能正常显示。
步骤二:现链接如下地址,将打开一份放在异地服务器上的4-01.jsp文件,比较一下显示的时间,理解服务器端和客户端语言执行的不同机理。
http://10.22.128.173/jsp/4-01.jsp
步骤三:请大家阅读教科书中p129-p150内容,并把书上的示例代码(下载)拷贝到前面建的Test文件夹下(注意取消文件可读属性),依次执行。
作业内容
作业一:请大家先下载已编写好的HTML页面(下载),然后编写一JSP页面来读取由此表单递交的信息。效果可参考如下链接:
http://10.22.128.173/jsp/register.htm
提示:把多选的select表单中的数据提交到jsp页面中可安如下方法:
request.getParameterValues("select表单名")
该函数返回一个String[]
然后循环处理。
作业二:课本p148页的例4-21.jsp程序有错误,无法执行所描述功能,请修改。
完成后请把作业一和作业二两个文件一起打包交上来,打包文件格式同以往。最后截至时间是4月18日24:00。
======================
下面是完成的handle.jsp
register.htm来接收用户的信息提交给handle.jsp来处理
程序名称:handle.jsp如下:<%@ page contentType="text/html;charset=GBK" %>
<%
request.setCharacterEncoding("GBK");
String strUserName=request.getParameter("name");
String strUserSex=request.getParameter("sex");
String strUseremail=request.getParameter("email");
String strUseretel=request.getParameter("tel");
String strUsereclasses=request.getParameter("classes");
String strUsereqq=request.getParameter("qq");
String strUsereyear=request.getParameter("year");
String strUseredescription=request.getParameter("description");
//String strUserenetaccess=request.getParameter("netaccess");
%>
用户名是:<%=strUserName%><br>
性别:<%=strUserSex%><br>
Email邮件:<%=strUseremail%><br>
电 话:<%=strUseretel%><br>
所在班级:<%=strUsereclasses%><br>
QQ号码:<%=strUsereqq%><br>
入学年份:<%=strUsereyear%><br>
选修科目:
<%String[] strUseresubject = request.getParameterValues("subject");
for(int i=0;i<strUseresubject.length;i++){
out.println(strUseresubject[i]);
out.println(" ");
}%><br>
个人简介:<%=strUseredescription%><br>
上网地点:
<%String[] strUserenetaccess = request.getParameterValues("netaccess");
for(int i=0;i<strUserenetaccess.length;i++){
out.println(strUserenetaccess[i]);
out.println(" ");
}%><br>