当前位置: 首页 > news >正文

内容营销的形式有哪些/郑州百度seo

内容营销的形式有哪些,郑州百度seo,中山网站建设价位,wordpress网页图片加载很慢一、关于javabeanjavabean是固定写法的java类书写格式为:1)必须有无参构造函数2)属性必须私有, 我们称为字段3)提供标准的getter和setter例: name 字段 的getter: String getName() settter: void setName(String name)javabean例子&#xff…

一、关于javabean

javabean是固定写法的java类

书写格式为:

1)必须有无参构造函数

2)属性必须私有, 我们称为字段

3)提供标准的getter和setter

例: name 字段 的getter: String getName() settter: void setName(String name)

javabean例子:

//快捷键是shift+alt+s

public class User

{

private String name;

private int age;

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public int getAge()

{

return age;

}

public void setAge(int age)

{

this.age = age;

}

@Override

//为了方便打印,添加一个toString方法

public String toString()

{

return "User [age=" + age + ", name=" + name + "]";

}

}

二、关于 内省

内省是什么?: 通过反射的方式访问javabean的技术

Jdk中的api : PropertyDescriptor类操作Bean的属性

内省的作用:我们可以去实现一种通用性

1.传统的方式去访问javabean

public class Demo1

{

public static void main(String[] args)

{

User user=new User();

user.setName("zhangsan");

user.setAge(19);

System.out.println(user);

}

}

2.使用内省的方式来访问javabean

public class Demo1

{

public static void main(String[] args) throws Exception

{

User user=new User();

//创建属性描述器

PropertyDescriptor descriptor=new PropertyDescriptor("name",User.class);

//获得写方法

Method writeMethod=descriptor.getWriteMethod();

//调用写方法

writeMethod.invoke(user, "lisi");

System.out.println(user);

}

}

3.简化书写,实现通用性。这里写一个通用的方法,让属性名称为一个变量,假如属性名很多的话,得到属性名后,就可以遍历,然后给他们一一的赋值,这就是内省的魅力。

如果不用反射,那么传统的方式是不可能实现通用的。

下面代码实现能够为任何的javabean赋任何的值,只有用内省的方法才可以做的到:

import java.beans.IntrospectionException;

import java.beans.PropertyDescriptor;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import cn.itcast.day08.domain.User;

public class Demo2 {

/**

* @param args

* @throws IntrospectionException

* @throws InvocationTargetException

* @throws IllegalAccessException

* @throws IllegalArgumentException

*/

public static void main(String[] args) throws Exception {

// 内省

User user = new User();

setProperty(user, "name", "wangwu");

setProperty(user, "age", 11);

System.out.println(user);

}

// 实现一个通用的方法 为任意的一个javabean的任意属性赋任意值

public static void setProperty(Object bean, String fieldName, Object value) throws Exception {

// 创建属性描述器

PropertyDescriptor descriptor = new PropertyDescriptor(fieldName, bean.getClass());

// 获得 写方法

Method writeMethod = descriptor.getWriteMethod();

// 调用 写方法

writeMethod.invoke(bean, value);

}

}

由于内省用起来特别麻烦,Apache组织开发了一套用于操作JavaBean的API,如下详讲:

三、BeanUtils工具包

Apache组织开发了一套用于操作JavaBean的API(内省)

核心类 BeanUtils

setProperty(bean, name, value)

copyProperties(target, source);

可以支持String到8中基本数据类型转换

其他引用数据类型都需要注册转换器 ConvertUtils.register(Converter, Class)

注意:1、要想使用beanutils需要导入外部的jar包:commons-beanutils-1.8.0.jar这个jar包到lib目录里面

2、BeanUtils要想使用,还需要导入一个log的jar包:commons-logging.jar

下面我们来看看BeanUtils的魅力:

使用BeanUtils来格式化日期

1.javabean

package cn.itcast.day08.domain;

import java.util.Date;

// 一个javabean 是否有name属性取决于是否getter或setter方法

public class User {

private String name; // 字段

private int age;

private Date birthday;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

@Override

public String toString() {

return "User [name=" + name + ", age=" + age + "]";

}

}

2.beanutils

package cn.itcast.day08.introspector;

import java.lang.reflect.InvocationTargetException;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import org.apache.commons.beanutils.BeanUtils;

import org.apache.commons.beanutils.ConvertUtils;

import org.apache.commons.beanutils.Converter;

import org.apache.commons.beanutils.converters.DateConverter;

import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;

import cn.itcast.day08.domain.User;

public class Demo3 {

public static void main(String[] args) throws Exception {

User user = new User();

String name = "zhangsan";

String age = "19";

String birthday = "19801122";

// 11/22/1980 1980 11 22

// 注册一个转换器

/* 使用匿名内部类来注册转换器

ConvertUtils.register(new Converter() {

public Object convert(Class beanClass, Object value) {

// String -- Date

String birthday = (String) value;

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

try {

return sdf.parse(birthday);

} catch (ParseException e) {

return null;

}

}

}, Date.class);

*/

DateConverter converter = new DateConverter();

converter.setPatterns(new String[]{"yyyy-MM-dd","yyyyMMdd","MM/dd/yyyy"});

ConvertUtils.register(converter, Date.class);

String fieldName = "name";

BeanUtils.setProperty(user, fieldName, name);

BeanUtils.setProperty(user, "age", age);

BeanUtils.setProperty(user, "birthday", birthday);

System.out.println(user);

System.out.println(user.getBirthday().toLocaleString());

}

}

四. WebUtils 工具类

实现任何request提交的表单封装到对应的javabean

1.用户注册jsp页面:

用户注册表单
用户名
年龄
出生日期

2.写一个工具类,把request里面所有的参数全部封装到javabean中去:

package cn.itcast.day08.util;

import java.lang.reflect.InvocationTargetException;

import java.sql.Date;

import java.util.Enumeration;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.beanutils.BeanUtils;

import org.apache.commons.beanutils.ConvertUtils;

import org.apache.commons.beanutils.converters.DateConverter;

public class WebUtils

{

private WebUtils(){}

//定义一个通用工具方法,将请求参数封装到javabean

public static Object request2bean(HttpServletRequest request,Class beanClass){

try{

Object bean=beanClass.newInstance();

// 获得所有请求参数名

Enumeration names = request.getParameterNames();

//注册日期转换器

DateConverter converter=new DateConverter();

converter.setPattern("yyyy-MM-dd");

ConvertUtils.register(converter, Date.class);

//遍历

while(names.hasMoreElements()){

// 获得一个参数名

String name = (String)names.nextElement();

// 获得参数名对应的参数值

String value = request.getParameter(name);

//将参数名作为属性名 将参数值作为属性值,通过beanutils工具实现属性的封装

BeanUtils.setProperty(bean, name, value);

}

return bean;

}catch (Exception e)

{

throw new RuntimeException(e);

}//异常要抓下来,不能抛给servlet,把编译时异常包装称运行时异常

}

}

3.写一个servlet页面,注意查看导入的包名称!分清关系

package cn.itcast.day08.web.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import cn.itcast.day08.domain.User;

import cn.itcast.day08.util.WebUtils;

public class Servlet2 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

// 表单提交的参数封装到javabean

User bean = WebUtils.request2Bean(request, User.class);

System.out.println(bean);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

jsp这块的重点为:

1. jsp运行原理(会被翻译成servlet)

2. jsp脚本表达式和脚本片段

3. jsp九大隐式对象

4. web开发的四个域对象

5. 内省

beanUtils工具的使用

使用

http://www.lbrq.cn/news/1084051.html

相关文章:

  • 做旅游网站的工作流程图/广告推广投放平台
  • 网站开发的方法和步骤/查权重网站
  • 建网站容易吗/一个免费的网站
  • 网站首页做一点开有动画/东莞网络推广优化排名
  • 免费网站推广咱们做/seo怎么提升关键词的排名
  • 国内大型电子网站建设/最近几天发生的新闻大事
  • 什么是网站模板设计/百度一下知道首页
  • 微信登录建设银行网站/百度关键词查询工具免费
  • 国内建设网站/企业站seo价格
  • 建设通网站的信息是哪里来的/互联网营销师培训班
  • 什么网站做博客好/国内手机搜索引擎十大排行
  • wordpress 无法加载css/徐州自动seo
  • 做京东网站需要哪些手续费/北京seo薪资
  • 苏州知名网站制作开发/西安百度推广公司
  • 东莞哪些网络公司做网站比较好/百度一下图片识别
  • 门户网站风格/学校教育培训机构
  • 网站建设续费催款通知书/爱站网关键词挖掘查询工具
  • 个人网站icp备案教程/站长工具网址查询
  • 求合伙人做网站/下载百度到桌面上
  • 网站制作公司 云南/刷钻业务推广网站
  • 做网站广告的点/网络推广公司简介
  • 网站模板下载大全/网站收录一键提交
  • 三门峡做网站/成都网站推广
  • 深圳本地网站建设/今日热点新闻
  • 网站建设煊煊网/济南seo官网优化
  • 网站型销售怎么做/新闻热点最新事件
  • 滕州网站建设培训/新闻 近期大事件
  • 开发公司副总求职简历/sem优化推广
  • 河北省建设厅网站站长/株洲今日头条新闻
  • 网上商城网站建设/深圳新闻最新事件
  • 数据结构 | 队列:从概念到实战
  • C++模板进阶:从基础到实战的深度探索
  • keepalived
  • ESP32学习-按键中断
  • 三、构建一个Agent
  • Golang语言基础—函数调用