1.本次练习写一个简单的注册页面
准备工作:首先搭建好服务器tomcat环境,使用的编译软件是eclipse
2.在eclipse中创建一个web工程
3.在webContent文件夹下创建一个register.jsp文件chua
主要代码:在<body>的里面
<form action="show.jsp"method="post"> 用户名:<input type="text" name="uname"/><br/> 密码:<input type="password" name="upwd"/><br/> 年龄:<input type="text" name="uage"/><br/> 爱好: <input type="checkbox" name="uhobbies" value = "唱跳"/>唱跳 <input type="checkbox" name="uhobbies" value = "Rap"/>Rap <input type="checkbox" name="uhobbies" value = "篮球"/>篮球<br/> <input type="submit" value="注册"> </form>
4.在webContent文件夹下创建一个show.jsp文件
主要代码:还是在<body>标签里面
<% //设置编码 request.setCharacterEncoding("utf-8"); String name = request.getParameter("uname"); String pwd = request.getParameter("upwd"); int age = Integer.parseInt(request.getParameter("uage")); String[] hobbies = request.getParameterValues("uhobbies"); %> 注册成功,信息如下:<br/> 姓名:<%=name%><br/> 密码:<%=pwd%><br/> 年龄:<%=age%><br/> 爱好:<br/> <% if(hobbies!=null){ for(String hobby:hobbies){ out.print(hobby+" "); } } %>
5.上机效果:
总结:request:请求对象;存储“客户端向服务端发送的请求信息”
1.request对象的常见方法:
String getParameter(String name) :根据请求的字段名key (input标签的name属性值) ,返回字段值value (input标签的value属性值)
String[] getParameterValues(String name): 根据请求的字段名key ,返回多个字段值value (checkbox)
void setCharacterEncoding("编码格式utf-8") :设置post方式的请求编码 (tomcat7以前默认iso-8859-1,tomcat8以后改为了utf-8)
getRequestDispatcher("b.jsp").forward(request,response) ; 请求转发 的方式跳转页面 A - > B
ServletContext getServerContext():获取项目的ServletContext对象
2.jsp的执行流程:
第一次访问时:JSP转变成Java再编译成class
第二次访问时:直接访问class文件,如果服务端代码修改了,将会再访问时重新翻译、编译
3.常见错误:
200:一切正常
300/301:页面重定向(跳转)
404:资源不存在
403:权限不足(例如访问a目录,但是a目录设置的是不可见的话会报403)
500:服务器内部错误(代码有误)
4.编码问题:推荐使用"utf-8"