关于jsp里面的内置对象
request:第一次请求,来源于httpservletRequest
response:第一次响应,来源于httpservletResponse
pageContext:页面上下文,可以获取页面信息,来源于PageContext
session:表示一次会话(客户端与服务器建立的一次链接),保存用户信息,Httpsession
application:表示当前的web应用,全局对象,保存用户的共享信息,servletcontext。
config:当前的jsp对应的servlet的servletconfig对象,获取当前servlet的信息
out:向浏览器输出数据,jspwriter。【感觉像上一篇讲的<%=str%>】jsp-2
page:当前jsp对应的servlet对象,servlet
excerption:表示jsp页面发生的异常,exception
其中常用的是request,response,session,application,pageContext
request的常用方法:
request请求
1.String getParameter(String key)获取客户端传来的参数
经典一个类用一年,
其中要想使s有值,则需要在连接后面加上一个?req.getParameter()里面的一样的名字,同时在这样在客户端返回的为string类型的数据
如果我们希望数据类型为整数型,而非字符型,我们可以将数据类型进行一个强行转换
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().write("hello"); String s=req.getParameter("id"); Integer st=Integer.parseInt(s); System.out.println(st); String str="hello"; System.out.println(str); }
基础操作了
如果想转变成相应的数据类型,我们可以使用相同的方法
parse是转化
2.void setAttribute(String key,Object value)通过键值对的形式保留数据
3.Object getAttribute(String key)通过key去取出value(服务端内部资源的传递,与getparameter相似但那个是客户端与服务端之间的传递)
如果想将一个jsp里面的数据传给下一个数据的话,第一步将数据存到request.setA~("保存该数据的名字",数据)方法里面
然后再将该数据通过get方法传到指定的文件夹里面get("文件名").forward(req,resp);//同时要将接收与输出语句给传好
在传过去的jsp里面需要将传过来的数据取出来
取出来的方法
想试着打出来的,但不晓得为啥给报错了
<% //强转 String idStr=request.getParameter("id"); Integer id=Integer.parseInt(idStr); id++; // 将接收到的数据存到request里面,并取名为numbere request.setAttribute("number",id); //将收到的数据转到index.jsp里面,并且传req与resp request.getRequestDispatcher("index.jsp").forward(request,response); %> <%= id %>
留给以后的自己了
欧克,刚刚解决了
是我那个转移jsp写错了,导致一直转给自己所以报错了
这就好了
request的下一种方法
这样就形成了返回多组的数据到服务器上面
<% //强转 String idStr=request.getParameter("id"); Integer id=Integer.parseInt(idStr); id++; // 将接收到的数据存到request里面,并取名为numbere request.setAttribute("number",id); //将收到的数据转到index.jsp里面,并且传req与resp request.getRequestDispatcher("test.jsp").forward(request,response); String[] names=request.getParameterValues("name"); %> <%= Arrays.toString(names) %>
属实是懒得写了
request.setCharacterEncoding("UTF-8");//处理每一个请求的编码