javaBean如何在jsp/servlet/类中使用?将JavaBean应用到考试系统

概述

为什么要使用JavaBean?
优点:javabean实现前端和后端的分离,可以很好的维护,结构清晰
优点:同时赋予该类一个id,可解决代码重复编写,方便开发
优点:其实它是对<%%><%=%>java代码的封装,简便了我们的开发。

在jsp中使用

src里面写JavaBean的.class文件

代码中有具体的注释

package src12;
//要求1、是public 类
public class StudentBeen {
//要求3:必须是私有首字母小写的属性
	private int stuNo;
	private String stuName;
	public String address;
	//要求2、有无参构造方法,其实默认会有1个无参构造方法
//	public StudentBeen() {
//		
//	}
//	public StudentBeen(int stuNo,String stuName,String address) {
//		this.stuName=stuName;
//		
//	}
	//要求4、有get set方法

	public int getStuNo() {
		return stuNo;
	}

	public void setStuNo(int stuNo) {
		this.stuNo = stuNo;
	}

	public String getStuName() {
		return stuName;
	}

	public void setStuName(String stuName) {
		this.stuName = stuName;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}
	
 }

WebContent写.jsp页面


<!-- 如何使用JavaBeen?
在jsp的页面中使用:通过jsp的动作标签来使用
《jsp:useBeen》《jsp:getProperty》《jsp:setProperty》

 -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>JavaBeen页面上的使用方法</h1>
<!-- 
1、引入been的对象 ,方法:鼠标右键点击StudentBeen 选中copy qualified name 再粘贴到jsp:useBeen的class里面,自定义一个id属性,之后就用这个id来使用这个javaBeen
2、set 或者get been的属性值,方法:在标签体内为对象赋值属性,name=id的值,property=属性的名字,value=property对应 的属性的值
-->
	<jsp:useBean  id="student" class="src12.StudentBeen">
		<jsp:setProperty name="student"  property="stuName" value="唐僧"/>
		<jsp:setProperty name="student"  property="stuNo" value="00001"/>
	</jsp:useBean>
	<!-- 获取属性值 -->
	<jsp:getProperty property="stuName" name="student"/>


</body>
</html>

run on server的效果

在这里插入图片描述

在servlet中使用

改变javaBean的作用域

默认bean作用域是在当前这个jsp页面中的,如果加上scope=“session” 那么在session中我们便可以获取student
在src中创建servlet文件

package src12;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Servlet implementation class servlet12
 */
@WebServlet("/servlet12")
public class servlet12 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public servlet12() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		HttpSession session=request.getSession();
		StudentBean stu=(StudentBean)session.getAttribute("student");
		System.out.println(stu.getStuName());
	}

}

在jsp中添加form表单

下面的jsp文件只比上面的jsp文件在22行有区别,以及添加了29-30行的form表单进行servlet的提交,action根据你文件 的位置一定要写对,对应于上面servlet文件中的@WebServlet("/servlet12"),如果直接在Web-Content下可以直接在action中写“/servlet12”,但是如果不是就要像博主一样改变。



<!-- 如何使用JavaBeen?
在jsp的页面中使用:通过jsp的动作标签来使用
《jsp:useBean》《jsp:getProperty》《jsp:setProperty》

 -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>JavaBeen页面上的使用方法</h1>
<!-- 
1、引入bean的对象 ,方法:鼠标右键点击StudentBeen 选中copy qualified name 再粘贴到jsp:useBeen的class里面,自定义一个id属性,之后就用这个id来使用这个javaBeen
2、set 或者get bean的属性值,方法:在标签体内为对象赋值属性,name=id的值,property=属性的名字,value=property对应 的属性的值
3、默认bean作用域是在当前这个jsp页面中的,如果加上scope="session" 那么在session中我们便可以获取student
-->
	<jsp:useBean  id="student" class="src12.StudentBean" scope="session">
		<jsp:setProperty name="student"  property="stuName" value="唐僧"/>
		<jsp:setProperty name="student"  property="stuNo" value="00001"/>
	</jsp:useBean>
	<!-- 获取属性值 -->
	<jsp:getProperty property="stuName" name="student"/>
	<!-- 写一个from表单就可以跳转到servlet -->
	<form  action="../servlet12" method="post">
		<input type="submit" value="Javabean的测试">
	</form>

</body>
</html>

run on server的效果

在这里插入图片描述

在类中使用

了解设计模式MVC

在这里插入图片描述
JavaBean:表示数据,结果存储,业务处理操作。(充当Model)
Servlet:处理客户端的请求,创建JavaBean对象,执行业务逻辑(bean访问数据)将执行结果发到视图组件。(Controller)
视图(jsp): 发起请求,展示处理结果。(View)

包的结构图:

在这里插入图片描述

改造考试系统

具体代码请查看博主的另外一篇博客。
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值