后台开发学习——JSP和JavaBean

后台开发学习——JSPJavaBean

1、JSP里面绝对不应该出现与后端数据处理的任何的代码。

 

2、使用requestsession完成向导式注册

Session在开发里面能不用就不用。尽量使用requesthidden类型(隐藏域类型)。因为session太多会占用服务器的资源。Session一般用在登录上。

代码示例:

NewFile8.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>session与hidden</title>
	</head>
	<body>
		<form method="post" action="NewFile9.jsp">
			用户名:<input type="text" name="userName" placeholder="输入用户名" />
			<input type="submit" value="提交" />
		</form>
	</body>
</html>

运行结果:

 


NewFile9.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>提交用户名后的页面</title>
	</head>
	<body>
		<% String username = null; %>
		<p>
			<%
				username = request.getParameter("userName");
				session.setAttribute("logName", username);
			%>
			您的姓名是:<%= username %>
		</p>
		
		<form method="post" action="NewFile10.jsp">
			<%-- 使用session --%>
			您的兴趣是:<br />
			兴趣1:<input type="text" name="amusement1" placeholder="输入兴趣名" /><br />
			<%-- 使用hidden --%>
			兴趣2:<input type="text" name="amusement2" placeholder="输入兴趣名" /><br />
			<input type="hidden" name="username" value="<%= username %>"/>
			<input type="submit" value="提交" />
		</form>
	</body>
</html>

运行结果:

 


NewFile10.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>提交兴趣后的页面</title>
	</head>
	<body>
		<p>
			<%
				String user1 = (String)session.getAttribute("logName");
				String hobby1 = request.getParameter("amusement1");
				session.setAttribute("hobby", hobby1);
				String user2 = request.getParameter("username");
				String hobby2 = request.getParameter("amusement2");
			%>
			您的姓名是:<%=user1 %><br />
			您的爱好是:<%=session.getAttribute("hobby") %><br />
			<hr />
			您的姓名是:<%=user2 %><br />
			您的爱好是:<%=hobby2 %>
		</p>
	</body>
</html>

运行结果:

 

 

3、HttpServletResponse对象的sendRedirectString location)方法称为重定向。如果location地址前面加上“/”,则表示相对于Servlet容器的根来请求,即“http//localhost8080”,如果location地址前面没有加上“/”,则表示相对于当前请求的URI来寻找地址。

 

4、RequestDispatcherforwardrequest, response)方法称为请求转发。

 

5、请求转发与重定向的区别:

①请求转发,整个过程处于同一个请求中。

②重定向,客户端会向服务器端发送两个请求。

RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,是属于请求对象的方法。

④)sendRedirect()HttpServletResponse对象的方法,即响应对象的方法,既然调用了响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行的结果。

 

6、表单的确认:

(1)客户端确认:(可以使用JavaScript

①减少服务器负载

②缩短用户等待时间

③兼容性难

(2)服务器端确认:

①统一确认

②兼容性强

③服务器负载重

 

7JavaBean是一种可重复使用、且跨平台的软件组件。JavaBean可分为两种:一种是有用户界面(UIUser Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBeanJSP通常访问的是后一种JavaBean

一个JavaBean和一个JavaApplet相似,是一个非常简单的遵循某种严格协议的Java类。通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean

 

8、前端MVC设计模式

Model模型:逻辑处理

View视图:页面的显示和样式展示

Controller控制器:用户与系统之间的连接

 

9、一个标准的JavaBean有一下几个特征:

1)JavaBean是一个公共的类,类中访问属性的方法都是public的,一般属性是private的;

2)JavaBean有一个不带参数的public的构造方法,方法体可以为空可以不为空

3)JavaBean通过setXXX方法设置属性,通过getXXX方法获取属性

Eg.

public class CounterBean{

private int count=0;

public CounterBean(){}

public int getCount(){

return count;

}

public void setCount(int count){

this.count=count;

}

}


10JSP访问JavaBean的语法:

1)导入JavaBean类:通过<%@ page import=”com.remoa.CounterBean” %>指令导入JavaBean;

2)声明JavaBean对象:通过<jsp:useBean id=”mybean” class=”com.remoa.CounterBean” scope=”session”></jsp:useBean>标签来声明JavaBean对象,id也就是对对象的一个引用,且变量名对大小写敏感;scope属性决定了JavaBean对象存在的范围,scope可选的范围时page(当前页面)、requestsessionapplication

3)访问JavaBean属性:

①将JavaBean的某个属性输出到网页上:<jsp:getProperty name=”mybean” property=”count” />

②给JavaBean的某个属性赋值:<jsp:setProperty name=”mybean” property=”count” value=”200”/>value的值可以是字符串或者表达式,如果是字符串,那么它就会被转换成bean属性的类型,如果是一个表达式,那么它的类型就必须和将要设定的属性值的类型一致。

Property指定bean的属性名,param指定request的参数名

不能在同一个<jsp:setProperty>中同时使用paramvalue参数。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值