栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jsp的初步学习(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jsp的初步学习(一)

目录

一、如何解决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.我们可以用标签来设置JavaBean对象的属性,相当于调用set方法。

标签中

name属性:用于指定JavaBean对象的名称,和标签中的id详细

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() %>

我们通过标签设置了JavaBean属性的值,简化了代码

4.通过标签的到JavaBean对象属性的值

这个标签和标签就大同小异了,不多做叙述,但还是放一下代码和运行截图吧

<%@ 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重定向,使用标签进行页面跳转,跳转完成后,不会再回到之前的页面,而通过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路径"%>即可 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/856499.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号