目录
一、如何解决JSP中的中文乱码问题
二、在JSP页面中如何使用JavaBean
三、JSP页面如何实现转发和包含
一、如何解决JSP中的中文乱码问题
将charset和pageEncoding都改为UTF-8编码格式即可
二、在JSP页面中如何使用JavaBean
1.首先创建一个JavaBean
package jspdemo;
public class demo {
private String name;
private String word;
public demo() {
// TODO Auto-generated constructor stub
}
public demo(String name,String word) {
this.name=name;
this.word=word;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWord() {
return word;
}
public void setWord(String word) {
this.word = word;
}
}
这里根据JavaBean的规范,写了一个demo类
JavaBean的规范:
1)JavaBean必须是一个公有类,如上述代码,都是public...
2)JavaBean中应该有一个空的构造函数。如上述代码 public demo(){}
3)不应该有公有变量,类变量都为Private私有变量
4)属性应该由一组读写方法来操作,getXxx()和setXxx()
2.我们有两种方法来获取这个JavaBean对象的同时给其属性赋值。
(1)通过<%@page import>指令来导入一个包下的所有类,然后再<%%>中new一个对象,并对该对象赋值。如下述代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="jspdemo.*"%>
Insert title here
<%
demo people=new demo();
people.setName("马某人");
people.setWord("mj666666");
%>
姓名:<%=people.getName() %>
密码:<%=people.getWord() %>
运行下代码,得到如图所示界面
我们成功在JSP页面使用了JavaBean的代码且对new的demo对象的属性进行了操作,并在JSP页面显示。
(2)我们还可以使用
id属性:用于指定JavaBean对象的引用名称和其存储于属性名
class属性:指定权限名,也就是要给出这个JavaBean的路径
scope属性:用于指定JavaBean对象的存储域范围,其取值范围只能是page,request,session,和application域中的一个,默认为page。
对于这四个域,这里简单提一下它们的作用范围:
page域:变量只在当前页面起作用,也就是一个JSP页面可用
request域:从http请求到服务器处理结束,返回响应的整个过程。在这个过程中跳转多个JSP页面,都可以用此变量。
session域:有效范围当前会话,从浏览器打开到关闭。
application域:有效范围从服务器启动到服务器关闭都是可以在整个应用中使用的。
我们可以根据以上JavaBean构建如下代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
<%
p.setName("马某人(2)");
p.setWord("mj666666");
%>
姓名:<%=p.getName() %>
密码:<%=p.getWord() %>
我们可以得到以下页面
也是成功调用了JavaBean的对象,并对其属性进行了set和get操作,在页面上显示了出来。
3.我们可以用
name属性:用于指定JavaBean对象的名称,和
property属性:用于指定JavaBean对象的属性。也就是你要设置的属性的名字
value属性:用于给你property指定的JavaBean对象的属性赋值,可以是字符串,也可以是表达式,它将自动转化为和所要设置的对象的类型。
param属性:用于将一个请求参数的值赋给JavaBean对象的某个属性,类型也是自动转化,但是不能和value同时使用。
那么我们根据我们的JavaBean构建一下代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
姓名:<%=p.getName() %>
密码:<%=p.getWord() %>
我们通过
4.通过
这个标签和
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
姓名:
密码:
JSP中JavaBean的使用大概就归纳这么多,希望大家有所收获。
三、JSP页面如何实现转发和包含
1.转发
在JSP页面中实现转发功能,从一个页面跳转到另一个页面,这里总结四种方法
(1)第一种是使用href超链接的方法来进行页面跳转。
如下述代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
这是href超链接跳转页面的测试
点击跳转到getBean的页面
如上述代码运行结果所示,我们在jsp中通过超链接定位了getBean.jsp的位置,通过标签来实现了页面的跳转。
(2)第二种是使用提交表单的方式来进行跳转
这里就用一个简单的用户登录来测试一下,代码如下:
login页面代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
这是form表单跳转JSP页面的测试
下面是你需要输入的账号密码
账号请输入majie
密码请输入mj666666
login_result页面代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
<%
String name=request.getParameter("username");
String word=request.getParameter("word");
if(name.equals("majie")&&word.equals("mj666666")){
%>
欢迎您,至高无上的管理员majie
<%
}else{
%>
账号或者密码错误,请重新登录
点击此处重新返回登录
<%
}
%>
运行截图:
登录成功界面
账号或密码错误界面
(3)第三种就是使用response对象重定向
通过response来进行重定向其实和在servlet中使用相差不大,代码如下
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
<%System.out.println("页面通过Response重定向开始"); %>
<%response.sendRedirect("login.jsp");%>
<%System.out.println("页面通过Response重定向结束,成功到达login.jsp页面"); %>
通过插旗,我们可以确定,login.jsp页面是通过response重定向转发过去的。
(4)第四种就是JSP自带的
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
<%System.out.println("forward转发页面开始"); %>
<%System.out.println("forward转发页面结束"); %>
不同于response重定向,使用
2.包含
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
这是一个jsp的包含页面测试
下面是包含进来的登录页面
<%@include file="login.jsp" %>
关于jsp页面的包含,就是在需要的位置加一个<%@include file="jsp路径"%>即可



