JSP

JSP 本质上就是⼀个 Servlet,JSP 主要负责与⽤户交互,将最终的界⾯呈现给⽤户,
HTML+JS+CSS+Java 的混合⽂件。
当服务器接收到⼀个后缀是 jsp 的请求时,将该请求交给 JSP 引擎去处理,每⼀个 JSP ⻚⾯第⼀次被访问的时候,JSP 引擎会将它翻译成⼀个 Servlet ⽂件,再由 Web 容器调⽤ Servlet 完成响应。
单纯从开发的⻆度看,JSP 就是在 HTML 中嵌⼊ Java 程序。

具体的嵌⼊⽅式有 3 种:
1、JSP 脚本,执⾏ Java 逻辑代码

	<% 
		在这里插入java代码
	%>

2、JSP 声明:定义 Java ⽅法

	<%!
	 声明 Java ⽅法
	%>

3、JSP 表达式:把 Java 对象直接输出到 HTML ⻚⾯中

	<%=Java变量 %>

举例:

	<%!
		 public String test(){
		 return "HelloWorld";
		}
	%>
	<%
		String str = test();
	%>
	<%=str%>

JSP内置对象 9 个

1、request:表示⼀次请求,HttpServletRequest。

2、response:表示⼀次响应,HttpServletResponse。

3、pageContext:⻚⾯上下⽂,获取⻚⾯信息,PageContext。

4、session:表示⼀次会话,保存⽤户信息,HttpSession。

5、application:表示当前 Web 应⽤,全局对象,保存所有⽤户共享信息,ServletContext。

6、config:当前 JSP 对应的 Servlet 的 ServletConfig 对象,获取当前 Servlet 的信息。

7、out:向浏览器输出数据,JspWriter。

8、page:当前 JSP 对应的 Servlet 对象,Servlet。

9、exception:表示 JSP ⻚⾯发⽣的异常,Exception。

常⽤的是 request、response、session、application、pageContext

request 常⽤⽅法:
1、req.getParameter(String key) 获取客户端传来的参数。
2、req.setAttribute(String key,Object value) 通过键值对的形式保存数据。
3、req.getAttribute(String key) 通过 key 取出 value。
4、req.getRequestDispatcher(“check.jsp”).forward(req,resp); 返回⼀个 RequestDispatcher 对象,该对
象的 forward ⽅法⽤于请求转发,check.jsp为请求转发的路径
5、String[] getParameterValues() 获取客户端传来的多个同名参数。
6、req.setCharacterEncoding(String charset) 指定每个请求的编码。

response 常⽤⽅法:
resp.getWriter().Writer(“显示数据”);
resp.sendRedirect(String path) 重定向,⻚⾯之间的跳转。

转发 getRequestDispatcher 和重定向 sendRedirect 的区别:

转发是将同⼀个请求传给下⼀个⻚⾯,重定向是创建⼀个新的请求传给下⼀个⻚⾯,之前的请求结束⽣命周期。

转发:同⼀个请求在服务器之间传递,地址栏不变,也叫服务器跳转。

重定向:由客户端发送⼀次新的请求来访问跳转后的⽬标资源,地址栏改变,也叫客户端跳转。原来的请求已经结束
如果两个⻚⾯之间需要通过 request 来传值,则必须使⽤转发,不能使⽤重定向。
⽤户登录,如果⽤户名和密码正确,则跳转到⾸⻚(转发),并且展示⽤户名,否则重新发送一个新的请求回到登陆⻚⾯(重定向)。

HTTP 请求状态码

200:正常
404:资源找不到
400:请求类型不匹配
500:Java 程序抛出异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值