JSP

 搭建Web环境,初始JSP

 URL

 计算机通过统一资源定位符实现资源访问
  URL:Uniform Resource Locator的缩写
  唯一能识别Internet上具体的计算机、目录或文件夹位置的命名约定

在这里插入图片描述

 Web服务器

  是可以向发出请求的浏览器提供文档的程序
  提供网上的信息浏览服务
 常用的Web服务器

Microsoft:IIS
Apache:Tomcat
Oracle:WebLogic
IBM:WebSphere
Nginx…

 Tomcat服务器

 常用服务器
特点:

Apache Jakarta的开源项目
轻量级应用服务器
开源、稳定、资源占用小

默认端口号:8080
 可通过eclipse手动开启关闭服务

 JSP

 JSP:Java Sever Pages
  运行在服务器端的Java页面
  使用HTML嵌套Java代码实现
  <%@page %>用来设置一个JSP页面的属性
  <%out.print(); %>(不换行)或<%out.println(); %>(换行)实现页面的输出
 JSP可以添加的注释:
  HTML注释:<!–HTML注释-- >
  JSP注释:<%–JSP注释–%>
  JSP脚本中注释:<%//单行注释%>、 <%/多行注释/%>
 page指令:通过属性定义了JSP的特性,实现与JSP容器的通信
语法:
在这里插入图片描述

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!-- jsp中Java导包方式 -->
<%@page import="java.util.Arrays,java.util.List" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>这是我的第一个jsp页面</title>
<%
int age = 18; //<% %>jsp中写Java语句方式,Java语句在HTML页面中不显示
              //双斜杠表示Java中的注释,在HTML页面中也不显示
String name = "Jack";
%>
<%
int[] arr = new int[]{1,2,3,4};
%>
</head>
<body>
<h1>你好!!</h1>
<%
out.println(name + "<br />"); //ln表示输出后换行,<br / >表示在HTML页面中换行
out.print(age);
%>
<!-- Java页面中输出内容的另外一种格式 -->
<!-- 仅向页面输出内容,不需要分号 -->
<%
<%=name %>
%>
<!-- Arrays输出数组 -->
<%out.print(Arrays.toString(arr) + "<br />"); %>
<!-- 循环输出数组 -->
<%
for(int a : arr){
	out.print(a);
}
%>
</body>
</html>

 Web程序调试和排错

Web程序常见错误:
  1.404错误—找不到访问的页面或资源
   运行时,URL输入错误
   将页面放在WEB-INF下
   外部启动Tomcat,未部署项目
  2.500错误----JSP页面代码有误
   JSP页面代码有错误
  3.页面无法显示
   未启动Tomcat


 jsp实现数据的传递和保存

 1.请求对象:request

 request对象常用方法

在这里插入图片描述
  示例:

HTML代码:
< input type=“text” name=“userName” />
JSP代码:
String userName=request.getParameter(“userName”);

 内置对象

JSP已经准备好的,可以直接使用的对象
请求对象:request
输出对象:out
响应对象:response
页面对象:page

 中文乱码

 JSP中默认使用的字符编码方式:iso-8859-1 (不支持中文)
 常见的支持中文的编码方式
在这里插入图片描述

 解决中文乱码

 设置请求和响应的编码方式

request.setCharacterEncoding(“utf-8”);
response.setCharacterEncoding(“utf-8”);
<%@ page language=“java”
contentType=“text/html; charset=utf-8”%>


 页面跳转判断案例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>接收数据并判断</title>
<%
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String cu_name=request.getParameter("cu_name");
String cu_phone=request.getParameter("cu_phone");
// 假设 用户名是大华 密码是9999
// 正确 跳转至欢迎页面,如果不正确 则返回登录页面
if("刘德华".equals(cu_name) && "9999".equals(cu_phone)){
	// 跳转到欢迎界面
	//System.out.println(cu_name);
	//response.sendRedirect("/web02/welcome.jsp?cu_name="+cu_name);  //显示的将用户名传递
	//.getRequestDispatcher("")将页面跳转 里面接受页面的跳转地址
	//.forward(request, response) 将当前页面中的 req和resp两个对象 直接传递给下一个页面
	request.getRequestDispatcher("welcome.jsp").forward(request, response);
	// 注意 对于服务器的跳转 是相对路径 相对当前页面(login1.jsp)



	/*
	response跳转
		http://localhost:8080/web02/welcome.jsp?cu_name=???
	request跳转
		http://localhost:8080/web02/login1.jsp?cu_name=刘德华&cu_phone=9999
	response属于客户端行为 是由客户端(是浏览器行为)来发起跳转请求的 
	request属于服务器端的行为 是由服务器内部来进行跳转的 如果服务器跳转了页面的地址 浏览器不知道 所以浏览器的地址还停留在上一个页面的地址上
	*/



}else{
	// 返回登录界面
	//response.sendRedirect(""); 接收1个字符串的参数 为需要跳转网页的地址
	response.sendRedirect("/web02");
	// 另外的方法 用的比较少 不推荐这么做
	//out.print("<script type='text/javascript'>location.href='/web02'</script>");
}
%>
</head>
<body>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值