一。<form>表单和request对象
<form name=" " method="post" action="xxx.jsp"> <!-- 单表传递不起名都行 --> <input type=" "> <!-- input标签下面详细说明 --> <select name=" "> <!-- 下拉列表 --> <option value=" "> </option> <option value=" "> </option> </select> <textArea name=" " rows=" " cols=" "></textArea> <!-- 文本框 -->
</form>
<input>标签有十种属性值
值 | 描述 |
---|---|
button | 定义可点击按钮(多数情况下,用于通过 JavaScript 启动脚本)。 |
checkbox | 定义复选框。 |
file | 定义输入字段和 "浏览"按钮,供文件上传。 |
hidden | 定义隐藏的输入字段。 |
image | 定义图像形式的提交按钮。 |
password | 定义密码字段。该字段中的字符被掩码。 |
radio | 定义单选按钮。 |
reset | 定义重置按钮。重置按钮会清除表单中的所有数据。 |
submit | 定义提交按钮。提交按钮会把表单数据发送到服务器。 |
text | 定义单行的输入字段,用户可在其中输入文本。默认宽度为 20 个字符。 |
下面例举出期末考试可能出现属性值最常见的使用:
用户名:<input type="text" name="user">
密码:<input type="password" name="pass">
<input type="submit" name="s1" value="提交">
<input type="reset" name="r1" value="复位">
<input type="radio" name="sex" value="man">男 <input type="radio" name="sex" value="woman">女
<input type="checkbox" name="enjoy" value="music">音乐 <input type="checkbox" name="enjoy" value="draw">美术 <input type="checkbox" name="enjoy" value="chess">棋 <input type="checkbox" name="enjoy" value="dance">舞蹈 <input type="checkbox" name="enjoy" value="reading">读书 <input type="checkbox" name="enjoy" value="writing">书法
request对象使用
request.setCharacterEncoding("utf-8");
一般都要先加上
String xxx=request.getParameter("xxx");
常见单选框、文本框获取表单数据的方式,xxx均为名称
String enjoy[]=request.getParameterValues("enjoy");
复选框多值获取
<a href="xxx.jsp" >说明文字</a>
顺便提一嘴超链接
——————————加上一些Java基础,至此是四月份前的课程内容,应该足够对付很多非要求题目了。———————————
二。Cookie对象
1.创建cookie
Cookie c1 = new Cookie("cookie的名称","cookie的值");
注:键和值都是字符串,不支持中文,不支持空格。
2.发送cookie
response.addCookie(cookie对象);
3.获取cookie
response.getCookies();
返回的是所有的cookie的数组。
c1.setValue("设置新值");
重置cookie值
c1.getName() c1.getValue()
获取cookie名称与值
c1.setMaxAge(3600);
设置cookie到期时间
c1.getPath()
获取cookie存放位置
下面例举出期末考试可能出现的操作:
Cookie[] cookies=request.getCookies(); cookies.length for(Cookie c1:cookies){ }
差不多就这么多东西啦,cookie像是存放浏览器本地的键值对,详见——第一次作业链接
三。session对象
我推测我们考试这两行代码就够用了。。
1.创建session对象
session.setAttribute("String name", Object obj)
恩,是的,更新也用它。
2.获取session对象
session.getAttribute("String name")
3.遍历当前会话所有session
String[] names=session.getValueNames(); for(int i=0;i<names.length;i++){ }
详见——第二次作业链接
四。application对象
application.setAttribute("content", data); String data=(String) application.getAttribute("content");
不多解释啦,会这两行代码应该就够面对考试了。
五。JavaBean
先在src目录下写一个Java类。属性全私有,方法全公有,且除了无参构造方法外全是getter和setter方法。
使用起来要先在JSP文件首部加上这两行代码:
<%@ page import="包名.类名" %> <jsp:useBean id="p1" class="包名.类名" scope="session"/>
scope="session"的话可以在多个页面的开自动挡,如果="request"的话好像没这么方便。
然后属性名和input标签获取对象名一致,通过这行代码直接赋值:
<jsp:setProperty name="p1" property="*" />
如果单个赋值的话,property="属性名" 即可。
获取值的话通过这行代码:(要有getter方法的属性)
<jsp:getProperty property="属性名" name="p1"/>
但由于方法是公有的,其实已经可以通过在<% %>里直接调用了,是不是很方便?详见——第三次作业——第四次作业。
六。pageContext
它好像比较厉害,是个集大成者。
pageContext.setAttribute("major", str); <%=(String)pageContext.getAttribute("major") %>
不是很懂,先学两行应付考试。。
七。Servlet
创建一个Servlet后主要在doPost里加这几行代码,应该就够应付考试了:
response.setCharacterEncoding("utf-8"); int 属性名=Integer.parseInt(request.getParameter("属性名")); PrintWriter pw = response.getWriter(); pw.print("<html><body><br>"); --正常JAVA代码块-- pw.print("</body></html>");
然后这个类也是正常JAVA类,可以往里面写一些静态属性啦,方法啦。。。
form表单调用的话post="类名"即可。详见——第五次作业——第六次作业。
八。EL表达式
用于查找和输出,是代替<%= %>,支持多运算符。
${xxx}啥也不写就全局查找,前置作用域的话记得加Scope:
${pageScope.xxx} <===> pageContext.setAttribute();
${requestScope.xxx} <===> request.setAttribute();
${sessionScope.xxx} <===> session.setAttribute();
${applicationScope.xxx} <===> appliation.setAttribute();