- 浏览: 120288 次
- 性别:
- 来自: 深圳
文章分类
第一节 需求定义
简单的需求如下图
<group id="_x0000_s1026" style="WIDTH: 423pt; HEIGHT: 405pt; mso-position-horizontal-relative: char; mso-position-vertical-relative: line" coordsize="8460,8100" coordorigin="1702,1985" editas="canvas"><lock aspectratio="t" v:ext="edit"></lock><shapetype id="_x0000_t75" coordsize="21600,21600" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><shape id="_x0000_s1027" style="LEFT: 1702px; WIDTH: 8460px; POSITION: absolute; TOP: 1985px; HEIGHT: 8100px" stroked="t" o:preferrelative="f" type="#_x0000_t75"><fill o:detectmouseclick="t"></fill><path o:connecttype="none" o:extrusionok="t"></path><lock v:ext="edit" text="t"></lock></shape></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><shapetype id="_x0000_t202" coordsize="21600,21600" path="m,l,21600r21600,l21600,xe" o:spt="202"><stroke joinstyle="miter"></stroke><path o:connecttype="rect" gradientshapeok="t"></path></shapetype><shape id="_x0000_s1028" style="LEFT: 1702px; WIDTH: 8280px; POSITION: absolute; TOP: 7925px; HEIGHT: 1800px" stroked="f" type="#_x0000_t202"><textbox inset="5.85pt,.7pt,5.85pt,.7pt"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US" style="FONT-FAMILY: 宋体">1</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><font face="Garamond"> </font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Garamond; mso-hansi-font-family: Garamond">用户处在</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><font face="Garamond">Welcome.jsp </font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Garamond; mso-hansi-font-family: Garamond">页面,点击登录连接到达</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><font face="Garamond">Login.jsp</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Garamond; mso-hansi-font-family: Garamond">页面</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><p></p></span></font></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US" style="mso-fareast-font-family: 宋体"><font face="Garamond">2 </font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Garamond; mso-hansi-font-family: Garamond">在</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><font face="Garamond">Login.jsp</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Garamond; mso-hansi-font-family: Garamond">输入用户名密码,点击登陆按钮,转到</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><font face="Garamond">LoginAction</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Garamond; mso-hansi-font-family: Garamond">处理</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><p></p></span></font></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US" style="mso-fareast-font-family: 宋体"><font face="Garamond">3.1 </font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Garamond; mso-hansi-font-family: Garamond">在登陆成功的情况下,再回到</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><font face="Garamond">Welcome.jsp</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Garamond; mso-hansi-font-family: Garamond">页面,在页面上显示登录信息</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><p></p></span></font></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US" style="mso-fareast-font-family: 宋体"><font face="Garamond">3.2 </font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Garamond; mso-hansi-font-family: Garamond">在登陆失败的情况下,返回到</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><font face="Garamond">Login.jsp</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Garamond; mso-hansi-font-family: Garamond">显示登陆错误信息</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><p></p></span></font></p> </div> </td> </tr></tbody></table></textbox></shape><group id="_x0000_s1029" style="LEFT: 2962px; WIDTH: 6299px; POSITION: absolute; TOP: 1985px; HEIGHT: 5581px" coordsize="6299,5581" coordorigin="2962,1985"><group id="_x0000_s1030" style="LEFT: 2962px; WIDTH: 6299px; POSITION: absolute; TOP: 1985px; HEIGHT: 5581px" coordsize="6299,5581" coordorigin="2962,1985"><group id="_x0000_s1031" style="LEFT: 2962px; WIDTH: 1979px; POSITION: absolute; TOP: 2885px; HEIGHT: 1981px" coordsize="1685,1697" coordorigin="2741,8106"><rect id="_x0000_s1032" style="LEFT: 2741px; WIDTH: 1685px; POSITION: absolute; TOP: 8106px; HEIGHT: 1697px" alt=""><textbox inset="5.85pt,.7pt,5.85pt,.7pt"><font size="3"></font></textbox></rect><shape id="_x0000_s1033" style="LEFT: 2894px; WIDTH: 1378px; POSITION: absolute; TOP: 8415px; HEIGHT: 308px" stroked="f" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1033" inset="5.85pt,.7pt,5.85pt,.7pt"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-FAMILY: 宋体"><font size="3">Welcome.jsp</font></span></p> </div> </td> </tr></tbody></table></textbox></shape></group><group id="_x0000_s1034" style="LEFT: 7282px; WIDTH: 1979px; POSITION: absolute; TOP: 2885px; HEIGHT: 1981px" coordsize="1684,1698" coordorigin="5498,8106"><rect id="_x0000_s1035" style="LEFT: 5498px; WIDTH: 1684px; POSITION: absolute; TOP: 8106px; HEIGHT: 1698px"><textbox inset="5.85pt,.7pt,5.85pt,.7pt"><font size="3"></font></textbox></rect><shape id="_x0000_s1036" style="LEFT: 5651px; WIDTH: 1378px; POSITION: absolute; TOP: 8415px; HEIGHT: 308px" stroked="f" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1036" inset="5.85pt,.7pt,5.85pt,.7pt"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-FAMILY: 宋体"><font size="3">Login.jsp</font></span></p> </div> </td> </tr></tbody></table></textbox></shape></group><group id="_x0000_s1037" style="LEFT: 3862px; WIDTH: 4320px; POSITION: absolute; TOP: 1985px; HEIGHT: 900px" coordsize="3217,771" coordorigin="4119,7952"><line id="_x0000_s1038" style="POSITION: absolute; flip: y" from="4119,8261" to="4119,8723"><font size="3"></font></line><line id="_x0000_s1039" style="POSITION: absolute" from="4119,8261" to="7336,8261"><font size="3"></font></line><line id="_x0000_s1040" style="POSITION: absolute" from="7336,8261" to="7336,8723"><stroke endarrow="block"><font size="3"></font></stroke></line><shape id="_x0000_s1041" style="LEFT: 5038px; WIDTH: 1074px; POSITION: absolute; TOP: 7952px; HEIGHT: 309px" stroked="f" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1041" inset="5.85pt,.7pt,5.85pt,.7pt"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US" style="FONT-FAMILY: 宋体">1 </span><span style="FONT-FAMILY: 宋体">开始登陆</span><span lang="EN-US" style="mso-fareast-font-family: 宋体"><p></p></span></font></p> </div> </td> </tr></tbody></table></textbox></shape></group><rect id="_x0000_s1042" style="LEFT: 4942px; WIDTH: 1980px; POSITION: absolute; TOP: 5585px; HEIGHT: 1981px"><textbox inset="5.85pt,.7pt,5.85pt,.7pt"><font size="3"></font></textbox></rect><group id="_x0000_s1043" style="LEFT: 6922px; WIDTH: 1260px; POSITION: absolute; TOP: 4863px; HEIGHT: 1442px" coordsize="1260,1442" coordorigin="6922,4863"><line id="_x0000_s1044" style="POSITION: absolute" from="8180,4863" to="8180,6303"><font size="3"></font></line><line id="_x0000_s1045" style="POSITION: absolute; flip: x" from="6922,6305" to="8182,6305"><stroke endarrow="block"><font size="3"></font></stroke></line></group><group id="_x0000_s1046" style="LEFT: 3862px; WIDTH: 1080px; POSITION: absolute; TOP: 4865px; HEIGHT: 1440px" coordsize="1080,1440" coordorigin="3862,4865"><line id="_x0000_s1047" style="POSITION: absolute; flip: x" from="3862,6305" to="4942,6305"><font size="3"></font></line><line id="_x0000_s1048" style="POSITION: absolute; flip: y" from="3862,4865" to="3862,6305"><stroke endarrow="block"><font size="3"></font></stroke></line></group><shape id="_x0000_s1049" style="LEFT: 7460px; WIDTH: 1260px; POSITION: absolute; TOP: 6483px; HEIGHT: 360px" stroked="f" type="#_x0000_t202"><textbox inset="5.85pt,.7pt,5.85pt,.7pt"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US" style="FONT-FAMILY: 宋体">2 </span><span style="FONT-FAMILY: 宋体">登陆</span></font></p> </div> </td> </tr></tbody></table></textbox></shape><shape id="_x0000_s1050" style="LEFT: 2962px; WIDTH: 1619px; POSITION: absolute; TOP: 6485px; HEIGHT: 360px" stroked="f" type="#_x0000_t202"><textbox inset="5.85pt,.7pt,5.85pt,.7pt"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US" style="FONT-FAMILY: 宋体">3.1</span><span style="FONT-FAMILY: 宋体">登陆成功</span></font></p> </div> </td> </tr></tbody></table></textbox></shape><group id="_x0000_s1051" style="LEFT: 5842px; WIDTH: 1440px; POSITION: absolute; TOP: 4145px; HEIGHT: 1440px" coordsize="1440,1440" coordorigin="5842,4145"><line id="_x0000_s1052" style="POSITION: absolute; flip: y" from="5842,4145" to="5842,5585"><font size="3"></font></line><line id="_x0000_s1053" style="POSITION: absolute" from="5842,4145" to="7282,4145"><stroke endarrow="block"><font size="3"></font></stroke></line></group><shape id="_x0000_s1054" style="LEFT: 5662px; WIDTH: 1260px; POSITION: absolute; TOP: 3605px; HEIGHT: 360px" stroked="f" type="#_x0000_t202"><textbox inset="5.85pt,.7pt,5.85pt,.7pt"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US" style="FONT-FAMILY: 宋体">3.2</span><span style="FONT-FAMILY: 宋体">登陆失败</span></font></p> </div> </td> </tr></tbody></table></textbox></shape></group><shape id="_x0000_s1055" style="LEFT: 5122px; WIDTH: 1621px; POSITION: absolute; TOP: 5944px; HEIGHT: 541px" stroked="f" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1055" inset="5.85pt,.7pt,5.85pt,.7pt"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-LEFT-COLOR: #d4d0c8; BORDER-BOTTOM-COLOR: #d4d0c8; BORDER-TOP-COLOR: #d4d0c8; BACKGROUND-COLOR: transparent; BORDER-RIGHT-COLOR: #d4d0c8"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-FAMILY: 宋体"><font size="3">LoginAction</font></span></p> </div> </td> </tr></tbody></table></textbox></shape></group></p> <wrap type="none"></wrap><anchorlock></anchorlock></group>
第二节 使用maven建立基本开发结构
使用如下命令建立Struts2 应用程序框架结构
mvn archetype:create
-DgroupId=com.jpleasure
-DartifactId=login
-DarchetypeGroupId=org.apache.struts -DarchetypeArtifactId=struts2-archetype-starter
-DarchetypeVersion=<chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.5</chsdate>-SNAPSHOT -DremoteRepositories=http://people.apache.org/repo/m2-snapshot-repository
目录说明
生成的Struts2开发框架目录满足一般的maven项目,主要由以下目录组成:
src
├─main 源代码目录
│ ├─java java代码
│ ├─resources 资源文件等
│ └─webapp Web目录
│ ├─jsp JSP目录
│ ├─styles CSS目录
│ └─WEB-INF WEB-INF目录
└─test 测试代码目录
├─java java代码
└─resources 资源文件等
重要文件:
src\main\resources
applicationContext.xml Spring配置文件
log4j.properties log4j配置文件
struts.properties struts参数文件
struts.xml struts配置文件
xwork-conversion.properties xwork参数文件
src\main\webapp\WEB-INF
decorators.xml
dwr.xml DWR配置文件
sitemesh.xml SiteMesh配置文件
web.xml Web部署描述文件
进入工程目录(login目录)使用如下命令建立Eclipse工程文件
mvn eclipse:eclipse
使用如下命令打包工程
mvn package
应用程序打包完成之后可以再login\target目录中看到login.war文件,这个文件就是最终的成果文件
使用如下命令运行应用程序
mvn jetty:run
也可以将login.war拷贝到tomcat的webapps目录下来运行struts2应用程序。
打开IE在浏览器中输入:
可以看到如下画面
说明自动生成的框架已经可以运行。
第三节 补充Login功能
下面我们来完成login功能
首先将login工程导入到Eclipse中
之后建立在src\main\java目录中建立LoginAction类,代码清单如下:
package com.jpleasure.login.action;
import javax.servlet.http.HttpSession;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;
public class LoginAction extends ActionSupport {
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String forward() throws Exception {
return SUCCESS;
}
@Override
public String execute() throws Exception {
if("admin".equals(name)) {
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("name", name);
return SUCCESS;
} else {
return INPUT;
}
}
}
Action具有以下特点:
1 从ActionSupport继承而来。
2 包含一些属性和getter,setter方法,这些属性用来保存客户端传递到服务器的数据,或者用来作为在JSP上显示的数据的源。
3 有一些返回String类型,无参数的方法,在LoginAction中是execute方法forwardLogin方法,这些方法就是Action需要执行的方法。
SUCCESS和INPUT都在com.opensymphony.xwork2.Action类中定义,类型为String,分别用来表示成功和输入结果。
在src\main\webapp中建立Welcome.jsp和Login.jsp两个JSP文件
Welcome.jsp代码清单如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W<chmetcnv w:st="on" unitname="C" sourcevalue="3" hasspace="False" negative="False" numbertype="1" tcsc="0">3C</chmetcnv>//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Welcome</title>
</head>
<body>
<s:url action="forwardLogin" id="forwardLoginUrl"></s:url>
<s:a href="%{forwardLoginUrl}">Forward Login</s:a>
<%
if(session.getAttribute("name") != null){
out.println("<br/> login success.");
}
%>
</body>
</html>
Login.jsp 代码清单如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W<chmetcnv w:st="on" unitname="C" sourcevalue="3" hasspace="False" negative="False" numbertype="1" tcsc="0">3C</chmetcnv>//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login</title>
</head>
<body>
<s:url action="login" id="loginUrl"></s:url>
<s:form action="%{loginUrl}">
<s:textfield label="Name" name="name"/>
<s:password label="Password" name="password" />
<s:submit></s:submit>
</s:form>
</body>
</html>
这些JSP有如下特点:
1 有一个特殊的taglib声明,<%@taglib prefix="s" uri="/struts-tags" %>这是struts2的标准taglib声明。
2 一些s标签
<s:url action="forwardLogin" id="forwardLoginUrl"></s:url>定义了一个叫做forwardLoginUrl的指向forwardLogin的Action的路径。
同理:<s:url action="login" id="loginUrl"></s:url>定义了一个叫做loginUrl指向loginaction的Action的路径。
<s:a href="%{forwardLoginUrl}">Forward Login</s:a>定义了一个指向forwardLogin的链接,其中href使用了上面定义的内容。
<s:form action="%{loginUrl}">
<s:textfield label="Name" name="name"/>
<s:password label="Password" name="password" />
<s:submit></s:submit>
</s:form>
定义了一个向login Action提交的form,这个Form提交name和password两个字段,这个Form的action指向使用了前面定义的loginUrl变量。
配置src\main\resources\struts.xml 文件
在默认的package中添加如下内容
<package name="myPackage" extends="struts-default">
<!-- login begin -->
<action name="forwardLogin" method="forward"
class="com.jpleasure.login.action.LoginAction">
<result>/Login.jsp</result>
</action>
<action name="login" class=
相关推荐
### 嵌入式Linux应用程序开发详解:第二章 Linux基础命令 #### 一、章节概述 本章节选自《嵌入式Linux应用程序开发详解》的第二章,主要介绍了Linux的基础命令,这对于理解如何在Linux环境下进行高效的工作至关...
### ASP.NET AJAX程序设计第二卷第五章:应用程序服务和本地化的深入解析 #### 应用程序服务:开启高效开发新模式 在《ASP.NET AJAX程序设计第二卷第五章》中,作者陈黎夫深入探讨了ASP.NET 2.0中一个关键的新特性...
本实验指导将带你深入理解Struts框架,并通过创建一个简单的用户登录系统来实践其核心概念。 ### 实验简介 本实验的主要目标是让学生掌握Struts框架的核心组件,包括控制器、Action、ActionForm和配置文件的作用。...
第二部分 数据访问 第7章 基础 7.1 ADO.NET架构 7.1.1 ADO.NET数据提供程序 7.1.2 ADO.NET的标准化 7.1.3 基本ADO.NET类 7.2 Connection类 7.2.1 连接字符串 7.2.2 测试连接 7.2.3 连接池 7.3 ...
在本教程中,我们将深入探讨"JSP项目开发之第2章 图书馆管理系统",这是一个基于JavaServer Pages(JSP)技术构建的实际应用。图书馆管理系统是管理图书借阅、归还、查询等功能的软件系统,它对于图书馆的日常运营至...
2. IP 协议头的修改:当路由器接收到一个以太网帧并需要将其转发到另一个接口时,它会修改第二层(链路层)的目的MAC地址和第三层(网络层)的目的IP地址,以确保数据包能够到达其目的地。 3. 接口配置问题:配置...
全书一共被压缩为5个rar,这是第二个!!!! 其他的请看ID:ljtt123(本人分享) 本博客提供的所有教程的资源原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何...
3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和名称空间 98 3.7 小结 99 第4章 xsl转换 101 4.1 xslt概述 101 4.2 xalan...
第二章强调了在开始一个新项目之前进行充分组织和规划的重要性。这一章提供了很多资源来帮助开发人员打下坚实的基础。从选择合适的技术栈到确定项目的架构,这一章都是围绕如何确保项目的成功展开的。对于那些即将...
第二部分 创建ASP.NET应用程序 第3章 维护应用程序状态 3.1 使用浏览器cookie 3.2 使用Session状态 3.3 使用用户配置文件 3.4 小结 第4章 缓存应用程序页面和数据 4.1 缓存概览 4.2 使用...
第二部分 创建ASP.NET应用程序 第3章 维护应用程序状态 3.1 使用浏览器cookie 3.2 使用Session状态 3.3 使用用户配置文件 3.4 小结 第4章 缓存应用程序页面和数据 4.1 缓存概览 4.2 使用...
3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和名称空间 98 3.7 小结 99 第4章 xsl转换 101 4.1 xslt概述 101 4.2 xalan...
在本章节中,我们将深入了解如何将各种常见的应用程序集成到IBM Portal中,包括办公自动化(OA)系统、业务流程管理(BPM)系统、即时通讯工具、论坛系统以及其他第三方应用。通过这些集成,我们可以增强IBM Portal的...
第二部分 数据访问 第7章 基础 208 7.1 ADO.NET架构 209 7.1.1 ADO.NET数据提供程序 209 7.1.2 ADO.NET的标准化 210 7.1.3 基本ADO.NET类 211 7.2 Connection类 212 7.2.1 连接字符串 212 7.2.2 ...
3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和名称空间 98 3.7 小结 99 第4章 xsl转换 101 4.1 xslt概述 101 4.2 xalan...
17.2.2 新建一个MVC应用程序 17.2.3 ASP.NET MVC应用程序的结构 17.2.4 运行ASP.NET MVC应用程序 17.3 ASP.NET MVC原理 17.3.1 ASP.NET MVC运行流程 17.3.2 ASP.NET MVC工作原理 17.4 ASP.NET MVC开发 17.4.1 创建...
**第二章:“微信”小程序开发(二)**(未提供具体内容) 在后续章节中,通常会介绍更多关于小程序开发的细节,包括组件使用、网络请求、生命周期方法、API调用等。开发者需要掌握这些技能来创建丰富的交互体验和...