后台开发学习——JSP和JavaBean

来源:互联网 发布:画设计图的软件 编辑:程序博客网 时间:2024/06/08 08:18

后台开发学习——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参数。


5 0
原创粉丝点击