⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 手把手教你struts.txt

📁 struts是java servlet中的一种结构
💻 TXT
📖 第 1 页 / 共 2 页
字号:
1:什么是类?什么是对象?什么java Bean?
  类是在硬盘上的.class文件;
  对象是内存中的类的实例;   
  Java Bean是存在于内存中的Java类的实例,是一种对象; JavaBean=Java对象
  但是严格来说Java Bean是具有下列三个特点的Java 类:
? Properties defined with accessors and mutators (get and set methods); 
  for example, a read-write property firstName would have getFirstName and setFirstName methods
? A no-argument constructor
? No public instance variables

  例如:A a=new A();     A是存在硬盘上的类;a是在内存中的对象   

2:什么是MVC?
  MVC是针对整个J2EE项目的一种设计模式;

  M=Model:     数据模型(数据对象,Java bean)
  V=View:      视图(JSP)
  C=Controller:控制器(XML),ActionServlet来读取XML,根据XML中的配置来控制整个应用的走向;

  数据模型:   把从数据库中取出的纪录放在一个Java 对象中,这样的java 对象就是数据模型;
               比如数据库中有表:users;字段分别是 username|password|role   
               Java程序从users表中读出了一行纪录user1;  

               你定义了一个类:  User{username;password;role},这个类也是一个领域模型.
               并在程序中有代码:
                                           User tempuser=new User();
                                           tempuser.username=user1.username;
                                           tempuser.password=user1.password;
                                           tempuser.role=user1.role;

               tempuser就是一个数据模型; User1是数据库user表的某行纪录
               这里我们说tempuser就是数据模型,可以看出,它是一个包含了具体数据的java Bean;  
  视图:       用户能够看到的页面(jsp)
  控制器:     XML配置文件+Servlet,xml由开发者写,servlet去读然后根据开发者的规定逻辑动作


2:为什么要MVC?     
  1:使整个应用程序的逻辑性增强;如果不用MVC,那么jsp=html+java代码,jsp充当了页面,控制器和数据模型的角色;
     混淆了逻辑,难于设计和理解,基本上没有维护和扩展的价值;例如JSPshop应用就是没有采用MVC的jsp应用;这种应
     用和php,asp毫无两样;
  2:采用MVC之后,整个系统逻辑清晰,功能上易于扩展,维护非常简单。
     一言以蔽之:不用MVC的设计模式的J2EE是假的J2EE,是小聪明的做法,一般是一个人开发一个小项目的时候会采用这
                 种方式;采用了MVC,使得程序开发者具有和其他开发人员沟通的标准,一个人写的程序别人容易看懂;
                 可扩展性强,适合做多人开发的中大型的项目;

3:怎么样采用MVC来做项目?
      MVC的发展阶段有MVC1-->Webwork-->Struts三个主要阶段。所以当前利用struts的模式来开发应用程序就是采用
      了最先进的MVC思想。

4:Struts的工作原理
   Struts其实是一种类库,通过配置struts-config.xml来使用其中的类,从而对你的应用程序进行全面的规范和控制。

5:怎样用struts?
  Struts是实现了MVC设计模式的一系列类库;从网上可以下载到struts1.1版本;解压缩之后里面有很多*.jar *.tld *.xml文
  件;有许多是不常用的,只要抓住核心的几个就可以了,怎么样使struts和你的应用程序相结合?以struts1.1为例具体配置如下:

  (1)从网上下载struts1.1包,解压缩;
  (2)将struts.jar放在WEB-INF\lib\目录下;将struts-html.tld,struts-bean.tld,struts-logic.tld放在WEB-INF目录下
       以下部分为加入到你的项目中的struts组件。
       如:syf
                *.jsp/*.xml
                images//放图片
                WEB-INF
                       src    //放*.java源文件
                       classes//放*.java源文件编译后的*.class文件
                       lib    //放你要调用的类库,struts包中的类就放在这里
___________________________struts.jar 
___________________________commons-beanutils.jar
___________________________commons-collections.jar
___________________________commons-dbcp.jar
___________________________commons-digester.jar 
___________________________commons-logging.jar 
___________________________commons-pool.jar
___________________________commons-services.jar
___________________________commons-validator.jar
 
_______________________struts-config.xml
_______________________struts-html.tld
_______________________struts-bean.tld
_______________________struts-logic.tld               
                       web.xml

       其中,对一个新的struts应用来说,struts-config.xml和web.xml中基本上是没有内容的;
***************************
struts-config.xml
***************************
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>        
</struts-config>



***************************
web.xml
***************************
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>
</web-app>

 



  (3)具体步骤
       1:
       在tomcat下面新建一个应用包叫做syf,并在其下新建WEB-INF,src, classes, lib等包;
       2:
       打开eclipse
       File\New\Porject\Java Project\ 点击 next出来对话框要你输入Project name:syf
       去掉“User default”前面的勾;点击Browse, 进去选中...\...syf 文件夹,确定
       点击“next”,不要点击finish;
       然后在Source下点击“Add Folder”,选择syf\WEB-INF\src,点击ok;此时已经设置好了源文件路径;
       以后项目中所有的.java源文件将被放在此目录下:syf\WEB-INF\src

       接着在Source下面部分的Default output Folder 右边点击“Browse”,选择syf\WEB-INF\classes,点
       击ok;此时已经设置好了类文件路径; 以后项目中所有的.class类文件将被放在此目录下:syf\WEB-INF\classes

       确保Allow output folder for source folders前面没有打勾;

       此时点击finish就可以在eclipse上创建好一个应用了;以后开发起来会很方便哦。以后凡是你在src目录下创建
       的*.java文件,只要按保存按钮,eclipse会自动帮你编译,并且将编译的结果保存在classes目录下面。

       
       3:
       定义和创建视图(jsp);视图是我们的应用和其用户的接口。以下是index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" %> 
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<head>
<title></title>
</head>

<html:html locale="true">
<body>
<%--页眉风格 BEGIN --%>
<p align="left"><html:img page="/images/logo.jpg" alt="SHANDA logo"/></p>
<font face="Arial" size="2">Welcome ... </font><br>
<table ><tr><td width="600"><hr></td></tr></table><br>
<%--页眉风格 END --%>
<html:errors />



<html:form action="Lookup"
      name="lookupForm"
      type="com.shanda.dongqin.LookupForm" >

<p align="center"> 
<table border="0" width="22%" >
  <tr>
    <td width="36%" align="left"><font face="Arial" size="2">user:</font></td>   
    <td width="64%" align="center"><html:text property="symbol" size="16" maxlength="50"/></td>
  </tr>
  <tr>
    <td width="36%" align="left"><font face="Arial" size="2">pw:</font></td>   
    <td width="64%" align="center"><html:password property="secret" size="16" maxlength="50"/></td>
  </tr>
  <tr>
    <td width="36%" align="center"></td>
    <td width="64%" align="center"><html:submit/>     <html:reset/></td>
  </tr>
</table> 
</p>
</html:form>

<table ><tr><td width="600" ><hr></td></tr></table>
<form name="form2" method="post" action="javascript:self.close()">
<p align="center"><a href="javascript:self.close()"><font face="Arial" size=2></font></a></p>
</form>
   

<%--页脚风格 BEGIN --%>
<p align="left"><html:img page="/images/struts-power.gif" alt="Powered by Struts"/></p>
<p align="left"><font face="Arial" size="1">all rights reserved 2004 for Quality Control DEPT.,SHANDA corporation</font></p>
<%--页脚风格 END --%>
</body>
</html:html>





       4:
       jsp中的每一个表单都必须对应一个ActionForm类型的
       java类,并且这个类必须继承ActionForm(import org.apache.struts.action.ActionForm;);

       表单类小结:
                  (1)必须继承ActionForm
                  (2)每个属性必须定义配套的get set方法(方法名=set/get+首字母大写的变量)
                       如:属性user对应getUser()/setUser()
                  (3)表单类因为继承了ActionForm,所以也具有了ActionForm的两个重要方法,这两个方法需要你覆写:
                         1>reset
                                 public void reset(ActionMapping mapping,HttpServletRequest request){}
                         2>validate
                                 public ActionErrors validate(ActionMapping mapping, HttpServletRequest request){
                                 ActionErrors errors =new ActionErrors();
                                 if(出错){errors.add("与错误相关的变量名",new ActionError("错误信息"))}
                                 return errors;
                                 }

                         在jsp中用 <html:errors/>来捕捉validate方法return出来的“错误信息”;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -