1 Jsp调用JavaBean
分离页面的显示代码和业务逻辑代码,将业务代码放到后台的Java Bean中。
减少了JSP中的脚本代码,便于维护和复用。
Java Bean:
1)无参数的构造方法(默认构造方法)
2)标准getter、setter方法
3)如果要支持RMI的,要实现Serializable
jsp:useBean--->在Jsp页面中使用一个JavaBean
<jsp:useBean id="" class="" scope=""/>
id:javaBean对象名
class:bean class的位置
scope:javaBean对象的共享范围(page,request,session,application)
page:当前页面范围
request:同一个请求范围 forward,include
session:同一个会话
application:同一个应用 ServletContext
例子:Student
<jsp:useBean id="stu" class="vo.Student" scope="session"/>
等价于
<%
Student stu=(Student)session.getAttribute("stu");
if(stu==null){
stu=new Student();
session.setAttribute("stu",stu);
}
%>
可以用表达式获得bean的值
<%=stu.getName();%>
对JavaBean的属性赋值
1)<jsp:setProperty name="" property="" value=""/>
name:JavaBean对象名
property:JavaBean属性名
value:属性值
<jsp:setProperty name="stu" property="name" value="Bobo"/>
等价于
<%
stu.setName("Bobo");
%>
可以嵌套JSP表达式
<jsp:setProperty name="stu" proprty="name"
value='<%=request.getParameter("name")%>'/>
2)设置JavaBean的属性值
<jsp:setProperty name="" property="" param=""/>
param:对应着request中输入域的名
<form>
age:<input type="text" name="age"/>
...
</form>
package vo;
public class Student implements java.io.Serializable{
private String name;
public void setName(String name){this.name=name}
public void getName(){return name;}
...
}
<jsp:setProperty name="stu" property="age" param="age"/>
3)Java Bean中的属性名与form中输入域的名字保持一致的话,可以使用通配符*
一次设置所有字段的值。
<jsp:setProperty name="" property="*"/>
<form>
name:<input type="text" name="name"/>
sex:<input type="text" name="sex"/>
age:<input type="text" name="age"/>
</form>
package com;
public class Student implements java.io.Serializable{
private String name;
private String sex;
private int age;
public void setName(String name){this.name=name}
public void getName(){return name;}
...
}
<jsp:setProperty name="stu" property="*"/>
获得Java Bean的值
<jsp:getProperty name="" property=""/>
<jsp:getProperty name="abc" property="name"/>等价于 <%=abc.getName()%>
2 JSP中的异常处理
1)try/catch/finally/throws/throw
2)errorPage, isErrorPage
<%@page errorPage="error.jsp"%> 需要错误处理的页面
<%@page isErrorPage="true"%> 错误页面,有一个隐式对象exception可用
<%=exception%>
产生内建对象exception,可通过它获得异常信息
3)声明的方式处理异常
web.xml
<error-page>
<exception-type>java.lang.ArithmeticException</exception-type>
<location>/MathError.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
RuntimeException:
java.lang.ArithmeticException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
Java中的RuntimeException及其子类是不需要处理的(try/catch),因为所有的
RuntimeException总是可以通过优化代码来避免,
这种异常被称为“Unchecked Exception”。
思考:三种异常处理方式同时启动用,那个优先级高?
作用域越小,起作用的优先级越高。
Checked Exception
注意:要使得页面自动跳转到错误页面,必须关闭浏览器的“显示友好HTTP错误信息”选项
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
//只处理这两种兼容的异常
}
3 JAAS实现安全 Java EE规范之一,实现Java EE应用程序安全性的一个重要途径
Java Authentication and Authorization Service
Java认证(Authentication)与授权(Authorization)服务
(要求:会用!不要求深入理解)
Web端的认证方法有:BASIC、FORM、DIGEST、CERTIFACATE
1)在Tomcat Server中配置新用户与角色
%TOMCAT_HOME%/conf/tomcat-user.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="narci" password="11" roles="admin,manager"/>
<user username="lily" password="11" roles="manager"/>
</tomcat-users>
--------------------------------------------------------------------
为什么tomcat可以使用tomcat-user.xml作为它保存用户和角色信息的文件?
因为在server.xml中,有以下配置:
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
---------------------------------------------------------------------
2)声明安全性约束(指明受限资源)
web.xml
<security-constraint>
<display-name>Constraint-all</display-name>
<web-resource-collection>
<web-resource-name>all-resources</web-resource-name>
<description />
<url-pattern>/admin/*</url-pattern>
<url-pattern>/security/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description />
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
3)选择认证方式(使用标准的FORM方式)
web.xml
如果是BASIC认证:5)步可以不用。
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>UserDatabaseRealm</realm-name>
</login-config>
如果是FORM认证:
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/logon/loginForm.jsp</form-login-page>
<form-error-page>/logon/loginErrorForm.jsp</form-error-page>
</form-login-config>
</login-config>
4)声明安全性角色及与用户的映射关系
web.xml
<security-role>
<description />
<role-name>admin</role-name>
</security-role>
5)标准的表单(FORM认证才需要)
action的值
用户名、密码字段的名称都是固定的(规范)
<form method="POST" action="j_security_check">
<input type="text" name="j_username">
<input type="password" name="j_password">
<input type="submit" value="Submit" name="B1">
</form>
标准的表单提交(固定不变):
action:j_security_check
name:j_username
password:j_password
分享到:
相关推荐
jsp调用javabean的问题
Jsp中利用JavaBean技术实现分页功能 Jsp中利用JavaBean技术实现分页功能
JSP源码——jsp+servlet+javaBean实现MVC_jspmvc.zip
jsp+servlet+javaBean实现MVC源码 jsp+servlet+javaBean实现MVC源码 jsp+servlet+javaBean实现MVC源码 jsp+servlet+javaBean实现MVC源码 jsp+servlet+javaBean实现MVC源码 jsp+servlet+javaBean实现MVC源码 jsp+...
;charset=GB2312"%> ...<jsp:useBean id="goodsbean" scope="application" class="sale.goodsbean" /> goodsbean.setProduct("clock"); goodsbean.setPrice(17); %> 使用方法1: 产品:()%> 税率:()%>
[其他类别]jsp+servlet+javaBean实现MVC_jspmvc[其他类别]jsp+servlet+javaBean实现MVC_jspmvc[其他类别]jsp+servlet+javaBean实现MVC_jspmvc[其他类别]jsp+servlet+javaBean实现MVC_jspmvc[其他类别]jsp+servlet+...
[其他类别]jsp+servlet+javaBean实现MVC_jspmvc [其他类别]jsp+servlet+...[其他类别]jsp+servlet+javaBean实现MVC_jspmvc[其他类别]jsp+servlet+javaBean实现MVC_jspmvc[其他类别]jsp+servlet+javaBean实现MVC_jspmvc
Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP、JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此...
jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序jsp+javabean 分页程序 简单实用供初学者参考
利用Javabean+JSP 实现文件的上传、显示、下载 实现文件上传功能和下载功能,显示文件列表和读取文件内容功能。
[其他类别]jsp+servlet+javaBean实现MVC_jspmvc.rar[其他类别]jsp+servlet+javaBean实现MVC_jspmvc.rar[其他类别]jsp+servlet+javaBean实现MVC_jspmvc.rar[其他类别]jsp+servlet+javaBean实现MVC_jspmvc.rar[其他...
jsp+servlet+javaBean实现MVC jsp+servlet+javaBean实现MVC jsp+servlet+javaBean实现MVC jsp+servlet+javaBean实现MVC
网站后台MVC管理,运用JSP+servlet+javabean实现商品的分类管理,分类展示,类别编辑,子类添加等
CNKI 数字图书馆 论文
第六篇为“Web应用高级专题”,主要讲述Servlet过滤器、JSP异常处理、JSP日志、认证和安全、部署等内容;第七篇为“Web应用开发实例”,围绕一个电子商务网站,从需求分析、架构选取、数据存储、开发、测试及部署等...
jsp+javabean实现的分页web程序,另外附上我对这个程序做了个总结 和程序所需要用到的数据库,希望对大家有帮助。
jsp+Servlet+javaBean实现登录注册,数据库:MySQL 工具:myEclipse
servlet jsp javabean 实现的文件上传