虚拟机安装多少个SUSE系统后的上网,和虚拟机之间交互通讯相关安装

前言

假 如 你 的 人 生 有 理 想,那 么 就 一 定 要 去 追,不 管 你 现 在 的 理 想 在 别 人 看 来是 多 么 的 可 笑 , 你 也 不 用 在 乎 , 人 生 蹉 跎 几 十 年 , 如 果 年 轻 的 时 候 计 较 得 失 前 怕 狼 就 后 怕 虎 而 不 去 追 逐, 等 到 了 40, 50 岁 的 时 候 , 你 唯 一 能 做 的 就 是 感 叹 岁 月 的 消 逝 和 无 情…

硬件条件:VMware Workstation 6.0 + Suse Enterprise Server拾.0

试行软件下载

  1. 下载struts2.1.6 http://struts.apache.org/download.cgi\#struts217 
    (选用下载full distribution)
  2. 下载myeclipse,http://www.myeclipseide.com 
  3. 下载tomcat,http://tomcat.apache.org 
  4. 下载xwork,http://www.opensymphony.com/xwork (要专注的是下载与struts二.一.六的对应版本,即贰.1.2)

 个人网络环境:ADSL + Modern + 路由器(路由器扶助动态分配IP) +
个人PC(Windows XP)

设置与安装

  1. 解压struts二.一.陆,要是解压后放在d:\struts2目录
  2. 设置MyEclipse,任何版本都得以
  3. 万一你早已安装好jdk和tomcat了,如d:\tomcat
  1. 安装并配置好一台suse服务器(选取和宿主机之间用NAT格局达成共享上网)
    机器名称fuxi 安装达成后在fuxi那台机械上得以访问外部网页,
    在宿主机上能够透过ssh连接到fuxi上

HelloWorld

建立项目

  1. 打开eclipse
  2. 新建项目
  3. 选择myeclipse-java enterprise projects-web project
  4. 项目名称:struts二_0100_introduction
  5. 选择java ee 5.0

设定server

  1. window – preferences – myeclipse – servers – tomcat – 6.x
  2. 选择tomcat home directory 
  3. 选择enable
  4. finish

设定jdk环境

  1. window – preferences – java – installed jres
  2. 比方未有对应的JDK(不是JRE),选用add
  3. 选择standard VM -> next
  4. 选择JDK对应的Directory
  5. 将刚刚设定的JDK设为私下认可

树立第陆个struts二.一的顺序

  1. 找到struts目录下相应的apps目录
  2. 解压struts2-blank-2.1.6.war
  3. Copy对应的lib的jar文件,要求除junit和spring-test之外的有所文件,当中commons-io的jar包会在文书上传和下载时索要,别的为必须
  4. Copy对应的struts.xml到src目录,在package explorer视图举办操作
  5. 申明掉struts.xml的多余内容
  6. 建立HelloStruts2_1.jsp文件
  7. *修改jsp文件的暗中同意编码属性window-preferences-web-jspfiles-设为Chinese,National Standard
  8. 在struts.xml中照原配置进行对应的配置
  9. 修改对应的web.xml,建立struts2的filter(参考struts自带的体系)

运作项目

  1. 能够率先安插到tomcat上类别
  2. 也能够项目右键debug as – myeclipse server app,选择刚刚创立好的server

其他

  1. 上学树立struts的dev-mode,好处在于大家修改了安排文件的时候能够自行热替换 
  2. 树立jar文件对应的源码D:/share/tools/struts-2.1.6/src/core/src/main/java,以及xwork对应的源码,以及相应的javadoc location,(更加好的方法是身无寸铁击协会调的user-library)
  3. 浏览struts的目录
  4. 认识eclipse jee的品类布置目录,认识什么修改webapp的context-root,项目copy改名后恐怕会冒出的标题
  5. package explorer – 建立jar的源文件和对象关联,navigator – 观望全部的剧情
  6. 认识Action的后缀名,在struts二私下认可中,带不带action都得以

 

2.
施用VMware提供的Clone,Clone二个2个全体的suse系统,虚拟机系统依次起名字为Suse Enterprise Sever一,Suse Enterprise Sever2,Suse Enterprise Sever叁

大面积难题:

struts.xml不活动提示

  1. window – preferences – 搜索 catalog – add 
  2. 选择key type为URI
  3. key: http://struts.apache.org/dtds/struts-2.0.dtd
  4. location: 对应的dtd文件,位于struts-core包中,解压开,钦定相应岗位,如:D:\share\0750_Struts2.1.6\soft\struts-2.1.6\lib\struts2-core-2.1.6\struts-2.0.dtd

导入示例项目

  1. 瞩目JDK的本子,应该是JDK六,不然会出class version的标题
  2. 即使连接项目出难点,能够重建项目,单独拷文件
  3. 再有1种意况是连串右键,properties – java – compiler 选拔六.0
  4. 别的,在tomcat配置中也要利用jdk陆

devMode设为true就会出难题空指针难题

  1. tomcat路径带了空格

在行使ActionContext.getContext().get(“request”)取不到对象,为null值

  1. web.xml不要采纳2.0的filter,用新的

在action的试验中,遭受贰个意料之外的bug

  1. 用default-action-ref内定二个action
  2. 用*_*映射
  3. 在地点栏中访问三个不存在的action,如adfsdfsfs
  4. 结果竟然会映射到*_*上
  5. 万一换到*__*就没难点了
  6. 靠,只可以认为是bug
  7. 下次用*-*,不用*_*
  1. 杀鸡取卵复制后存在ifconfig 找不到eth0的标题

学习方法求证

  1. 先读书老师的代码
  2. 再建立友好的花色实行动手学习

1). 进入 /etc/sysconfig/network/

Action

完结一个Action的最常用格局:从ActionSupport继承

DMI动态方法调用 !

通配符配置 * {1} {2} …

  1. *_* 

收纳参数的主意(一般用属性或许DomainModel来收取)

简言之参数验证addFieldError

  1. 貌似不采纳Struts二的UI标签

访问Web元素

Map类型

  1. IoC
  2. 依赖Struts2

原始类型

  1. IoC
  2. 依赖Struts2

包涵文件配置

默认action处理

二). 在该目录下运作 cp  ifcfg-eth-id-00:xx:xx:xx:xx:xx  ifcfg-eth0

Result

常用两种档次:

  1. dispatcher(默认)
  2. redirect
  3. chain
  4. redirectAction

大局结果集

  1. global-results | extends

动态结果(通晓)

  1. 在action中保留一本性质,存款和储蓄具体的结果location

传递参数

  1. 客户端跳转才必要传递
  2. ${}表达式(不是EL)

3). 进入/etc/udev/rules.d/

OGNL

  1. Object Graph Navigation Language
  2. 想起首化domain model,能够自身new,也能够传参数值,但此时要求保持参数为空的构造方法
  3. 别的参考ognl.jsp
  4. 如何时候在stack中会有七个Action?chain

 4). vim 30-net_persistent_names.rules

Struts-Tags

通用标签:

property

set

  1. 私下认可为action scope,会将值放入request和ActionContext中
  2. page、request、session、application

bean

include(对汉语文件协理有标题,不建议利用,如需包蕴,改用jsp包括)

param

debug

操纵标签

if elseif else

iterator

  1. collections map enumeration iterator array

subset

UI标签

theme

  1. simple xhtml(默认) css_xhtml ajax

AJAX标签

  1. 补充

$ # %的区别

$用于i1八n和struts配置文件

#取得ActionContext的值

%将原先的文本属性解析为ognl,对于自然就是ognl的品质不起效用

  1. 参考<s:property 和 <s:include

伍). 删除下边文件中关于eth0设置的那壹行, 并将第三行中的eth一改为eth0

概念本人的theme

css(覆盖struts2原来的css)

蒙面单个文件

概念本人的theme

实战:

  1. 把富有核心概念为simple
  2. 田野(field)error特殊处理
  3. 温馨支配别的标签的显示

6). reboot

作业

读doc文档:struts-tags

统一筹划约定(编码规定)

  1. 条件:简单便是美
  2. 库名:项目名
  3. 表的命名:_Model名
  4. 字段:保持和品质名相同(尽量不要起名和数据库命名争论)
  5. 用层来划分包com.bjsxt.bbs.action model(bean) service dto(vo)
  6. Action XXXXAction
  7. *-*
  8. /
  9. /admin
  10. package “action” adminAction

于今希望创设如下两个网络

类型支付顺序-以BBS贰零1零的名义

树立界面原型

建立Struts.xml

  1. 确定namespace
  2. 确定package
  3. 规定Action的名称,空的方法
  4. 确定Result
  5. 将界面原型页面实行改动,相配现有设置
  6. 测试
  7. 加强规划!!!!!

确立数据库(恐怕实体类)

建立Model层

成立Service层(前边讲了Hibernate后再完善)

  1. 那时能够使用JUnit举行单元测试了

出手开发

网络A: Suse Enterprise Sever一,Suse Enterprise
Sever二,宿直接主机处于二个对等互连网中,都享有独立的IP,都可以透过IP直访
问到外网。

申明式分外处理

在Actoin中开始展览丰富映射

在package中开始展览全局十三分映射

选拔持续共用13分映射

Struts第22中学国和南美洲常处理由拦截器完结(观望struts-default.xml)

  1. 实际上Struts二的大部分效益都由拦截器完成

网络B: fuxi,Suse Enterprise Sever3处于同三个网络中,并且未有对外的IP,都亟需经过宿主机IP才能够访问到表面互联网

I18N

I18N原理

  1. ResourceBundle和Locale的概念
  2. 财富文件
  3. native2ascii

Struts的能源文件

Action – Package – App级

诚如只用应用程式

  1. struts.xml custom.i18n

PropertiesEditor插件

  1. 解压
  2. features plugin 覆盖到myeclipse中的eclipse目录里

动态语言切换

  1. request_locale=en_US

 网络A方案: 一. 虚构以太网设置使用桥接格局 2. 利用VMNET0暗中认可虚拟网络

Struts拦截器以及源码解析

Struts架构图

  1. 见文档

Struts执行进度分析

Interceptor拦截器进程模拟

概念本人的拦截器

  1. acegi – spring security

运用token拦截器控制重复提交(很少用)

类型转换

暗许转换

  1. 日子处理

写自身的转换器:

public class MyPointConverter extends DefaultTypeConverter{

 

@Override

public Object convertValue(Object value, Class toType) {

if(toType == Point.class) {

Point p = new Point();

String[] strs = (String[])value;

String[] xy = strs[0].split(“,”);

p.x = Integer.parseInt(xy[0]);

p.y = Integer.parseInt(xy[1]);

return p;

}

if(toType == String.class) {

return value.toString();

}

return super.convertValue(value, toType);

}

 

}

public class MyPointConverter extends StrutsTypeConverter{

 

 

 

@Override

public Object convertFromString(Map context, String[] values, Class toClass) {

 

Point p = new Point();

String[] strs = (String[])values;

String[] xy = strs[0].split(“,”);

p.x = Integer.parseInt(xy[0]);

p.y = Integer.parseInt(xy[1]);

return p;

 

 

}

 

@Override

public String convertToString(Map context, Object o) {

// TODO Auto-generated method stub

return o.toString();

}

 

}

 

二种注册情势:

局部:XXXAction-conversion.properties

  1. p(属性名称) =  converter

全局:xwork-conversion.properties

  1. com.xxx.XXX(类名)= converter

Annotation

一经遭遇尤其麻烦的映照转换

  1. request.setAttribute();
  2. session

网络B方案: 一. fuxi用到NAT设置以太网访问形式 二. Suse Enterprise
Sever叁摘取自定义虚拟网络,选取VMNET八(NAT)

增加补充录制中等教育授的剧情

  1. Lambda表达式
  2. 评释框架
  3. UI标签
  4. 类型转换中的十分处理
  5. 上传与下载文件
  6. Struts2注解

Struts2总结

Action

  1. namespace(掌握)
  2. path(掌握)
  3. DMI(掌握)
  4. wildcard(掌握)
  5. 收取参数(精通前三种)
  6. 访问request等(掌握Map IOC方式)
  7. 大致多少证实(掌握add菲尔德Error和<s:田野先生Error)

Result

  1. 结果类型(通晓多种,重点二种)
  2. 全局结果(了然)
  3. 动态结果(理解)

OGNL表达式(精通)

  1. # % $

Struts标签

  1. 左右常用的

注明式万分处理(了然)

I18N(了解)

CRUD的历程(最关键是设计与设计)(精晓)

Interceptor的原理(掌握)

类型转换(理解暗中同意,了然自定义)

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图