JavaBean

JavaBean,  咖啡豆。 JavaBean是一种开发规范,可以说是一种技术。

JavaBean就是一个普通的java类。只有符合以下规定才能称之为javabean:

1)必须提供无参数的构造方法

2)类中属性都必须私有化(private)

3)该类提供公开的getter 和 setter方法

getName() setName(String name)

注意: boolean类型的get方法名称叫 isXXX()方法  public boolean isAcitve()

JavaBean的作用: 用于封装数据,保存数据。

访问javabean只能使用getter和setter方法

JavaBean的使用场景:

1)项目中用到实体对象(entity)符合javabean规范

2)EL表达式访问对象属性。${student.name}  调用getName()方法,符合javabean规范。

3)jsp标签中的属性赋值。 setNum(Integer num)。符合javabean规范。

4)jsp页面中使用javabean。符合javabean规范

struts

struts是对servlet的封装

1.开发步骤

1.下载struts 开发库:http://struts.apache.org  下载点击下载:struts-*-all.zip版本 ,使用2.3版本

2.在项目lib下面导入struts必须的包,然后build path

commons-fileupload-1.2.2.jar 【文件上传相关包】
commons-io-2.0.1.jar
struts2-core-2.3.4.1.jar 【struts2核心功能包】
xwork-core-2.3.4.1.jar 【Xwork核心包】
ognl-3.0.5.jar 【Ognl表达式功能支持表】
commons-lang3-3.1.jar 【struts对java.lang包的扩展】
freemarker-2.3.19.jar 【struts的标签模板库jar文件】
javassist-3.11.0.GA.jar 【struts对字节码的处理相关jar】

3.配置web.xml

  <!-- 引入struts核心过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

4.开发action

在src下面创建struts的action,继承ActionSupport

//开发action: 处理请求
public class HelloAction extends ActionSupport { // 处理请求
public String execute() throws Exception {
System.out.println("访问到了action,正在处理请求");
System.out.println("调用service");
return "success";
}
}

5.在src下面添加struts.xml文件(可以在struts包中搜索)

一个struts.xml中可以有多个package,但是package的名称不能重复

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- name任意名称,extends固定写法 -->
<package name="mystruts" extends="struts-default">
<!-- name:浏览器要访问的名称,class:编写的action全称,method:action下面的方法 -->
<action name="hello" class="com.eggtwo.action.HelloAction"
method="execute">
<!-- name:返回值, 跳转地址 -->
<result name="success">/index.jsp</result>
</action>
</package>
</struts>

5.1struts.xml的第二种配置方式:

在src下面添加总的struts.xml文件,然后在总文件中引用各个包中的struts.xml文件

总struts.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 总配置文件:引用其他包中的独立的配置文件 -->
<include file="com/eggtwo/action/struts.xml"></include>
</struts>

包中的struts.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- name任意名称,extends:继承的类 -->
<package name=com.eggtwo.action namespace="/" extends="struts-default" abstract="false">
<!-- name:浏览器要访问的名称,class:编写的action全称,method:action下面的方法 -->
<action name="execute" class="com.eggtwo.action.HelloAction" method="execute">
<!-- name:返回值, 跳转地址 -->
<result name="success" >/index.jsp</result>
</action> <action name="login" class="com.eggtwo.action.LoginAction" method="login">
<!-- name:返回值, 跳转地址 -->
<result name="success" >/login.jsp</result>
</action>
</package>
</struts>

项目结构:

2.执行流程

服务器启动:

1. 加载项目web.xml

2. 创建Struts核心过滤器对象, 执行filter -> init()

struts-default.xml,    核心功能的初始化

         struts-plugin.xml,     struts相关插件

             struts.xml                 用户编写的配置文件

访问:

3. 用户访问Action, 服务器根据访问路径名称,找对应的aciton配置, 创建action对象

4. 执行默认拦截器栈中定义的18个拦截器

5. 执行action的业务处理方法

最新文章

  1. C++预处理详解
  2. Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法
  3. 有关dwr推送的笔记
  4. VMware虚拟机固定IP后克隆出现无法访问网卡问题
  5. Oracle -&gt;&gt; Oracle下生成序列的方法
  6. CVS 文件自动移 tag 的 Python 脚本
  7. Elasticsearch就这么简单
  8. vscode使用shell
  9. c/c++ 图的创建(二维数组法)
  10. 在MFC Dialog中显示cmd窗口
  11. 大雄的elk实践
  12. 记Dagger2使用过程中的一个BUG--compileGoogleDebugJavaWithJavac
  13. centos如何查看磁盘剩余空间
  14. Ansible 使用 Playbook 管理 Nginx 配置文件
  15. elk单台环境搭建
  16. 配置WDS支持使用UEFI模式启动
  17. imooc-c++学习感悟
  18. centos 7修改系统支持中文编码
  19. Linux系统启动详解(二)
  20. ThinkPHP实现事务回滚示例代码(附加:PDO的事务处理)

热门文章

  1. 【CTS2019】氪金手游(动态规划)
  2. 【BZOJ3328】PYXFIB(单位根反演,矩阵快速幂)
  3. mosquitto 常用命令
  4. windows通过秘钥使用ssh和scp
  5. 华为方舟编译器 下载 和 LiteOS Studio Setup 2019-04-16.exe SDK下载
  6. 项目中使用Redis的游标scan的一些小问题
  7. HTML Web Workers
  8. vue展示md文件,前端读取展示markdown文件
  9. 浓缩版java8新特性
  10. Django框架(六)--模板层:变量、过滤器、标签、自定义标签和过滤器