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

深圳福田站/网站开发流程

深圳福田站,网站开发流程,单页产品销售网站如何做推广,网站浮动广告代码准备阶段 在使用学习Struts2的时候首先要下载相应的架包 Struts2资源下载 这里建议下载第一个,在struts-2.5.14.1-all.zip里有很多实用的东西,不仅有架包还有官方为开发者准备的实例等。 任何所学的知识最有效的检测方式就是做一个小小的实例&#xff0c…

 


准备阶段

在使用学习Struts2的时候首先要下载相应的架包

Struts2资源下载

这里建议下载第一个,在struts-2.5.14.1-all.zip里有很多实用的东西,不仅有架包还有官方为开发者准备的实例等。

任何所学的知识最有效的检测方式就是做一个小小的实例,这里吉力就带着大家看看Struts2是怎么实现这个功能的。

Struts2核心jar包
struts2-core-2.3.15.3.jar
asm-3.3jar
asm-common-3.3jar
asm-tree-3.3jar
xwork-core-2.3.15.3.3.jar
commons-io-2.0.1.jar
commons-lang-3.3.1.jar
commons-fileupload-1.3.jar
commons-logging-1.1.3.jar
freemarker-2.3.16.jar
log4j-1.2.17.jar
ognl-3.0.6.jar
javassist-3.11.0.GA.jar

项目框架:


1.配置web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>Struts01</display-name> <!-- 配置 Struts2框架核心Filter --> <filter> <!-- 过滤器名 --> <filter-name>struts2</filter-name> <!-- 配置Struts2核心Filter实现类 --> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <!-- 让Struts2的核心Filter拦截所有请求 --> <filter-mapping> <!-- 过滤名 --> <filter-name>struts2</filter-name> <!-- 匹配所有请求 --> <url-pattern>/*</url-pattern> </filter-mapping> <!-- <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> --> </web-app> 

任何MVC框架需要与Web应用整合时都要借助web.xml配置文件。通常MVC框架只需要在Web应用里加载一个核心控制器即可,对于Struts2来说就是加载StrutsPrepareAndExecuteFilter。一个Web应用只要加载StrutsPrepareAndExecuteFilter后,就具有Struts2的基本功能。


2.创建登录视图

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <form action="login.action" method="post"> 用户名:<input type="text" name="useName"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登录"><input type="reset" value="重置"> </form> </body> </html> 

上述页面代码里定义了一个表单,该表单提交给login.action进行处理。表单里有2个输入文本框,分别接收用户名和密码。


3.创建实体POJO层

在src下的com.beans包里创建实体User

package com.beans;public class User { private String useName; private String password; public User() { // TODO 自动生成的构造函数存根 } public User(String useName, String password) { super(); this.useName = useName; this.password = password; } public String getUseName() { return useName; } public void setUseName(String useName) { this.useName = useName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } 

在Strut2里,不对,是在整个SSH框架里实体的概念特别重要,它与数据库表相对应,将数据很好的保持了起来,实现了数据的持久化,这样我们以实体的形式传递数据和映射就变得简单。


4.创建业务控制器

在src下的com.action包里添加用于处理用户登录的业务控制器LoginAction类

package com.action;import com.beans.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;public class LoginAction extends ActionSupport implements ModelDriven<User>{ User user=new User(); public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String execute() { if(user.getUseName().equals("jili")&&user.getPassword().length()>=6) { return SUCCESS; } else { return ERROR; } } @Override public User getModel() { // TODO 自动生成的方法存根 return user; } } 

这里采用了模型驱动的方式实现了对于用户输入数据的映射,这个方法比再在action里添加属性接收后再赋给User更加高效。


5.配置业务控制器struts.xml

再src下新建struts.xml配置文件,在该文件配置LoginAction

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.devMode" value="true"/> <constant name="struts.enable.DynamicMethodInvocation" value="true"/> <package name="default" namespace="/" extends="struts-default"> <!-- 定义一个叫user的Action,并带上实现类的路径 --> <action name="login" class="com.action.LoginAction"> <!-- 配置execute()方法返回值与视图资源之间的映射关系 --> <result name="success">/suc.jsp</result> <result name="error">/error.jsp</result> </action> </package> </struts>

该配置文件配置了一个名为login的Action,并指明了Action实现类com.action.LoginAction。在


6.运行显示

suc.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'suc.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 欢迎${param.useName}登录! </body> </html> 

error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'error.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 账号或者密码错误!<a href="input.jsp">返回</a> <br> </body> </html> 

小结

本篇博文只是最简单地实现了用户登录,这也直观验证了Struts2是MVC的很好的应用。

当然,Struts2还有很多应用比如动态方法的调用、标签库等使用,吉力会在今后的博文里会给大家举例子说明。

原文出自:https://www.cnblogs.com/jilige/p/8029918.html

转载于:https://www.cnblogs.com/gu-bin/p/10436811.html

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

相关文章:

  • 湖南网站建设小公司/seo教程自学网
  • 网站前台建设/公司搜索seo
  • java 网站做甘特图js/关键词挖掘工具免费
  • h5手机网站建设是什么意思/石家庄百度关键词搜索
  • 无锡做网站f7wl/哪里有做网络推广的
  • 开发网站公司怎么样/正规网络推广服务
  • 北京设计公司网站/免费行情软件网站下载
  • 给几个能看的网站 贴吧/品牌广告图片
  • 自己电脑做网站 带宽/市场推广怎么做
  • 合肥建设学校网站首页/seo网站有哪些
  • 中国建设银行招标网站/苏州seo网站系统
  • 西安三网合一网站建设/营销方式方案案例
  • 网站排名seo软件/邯郸网站seo
  • 怎么做免费的宣传网站/网络广告的形式有哪些
  • 用asp做网站span/游戏搜索风云榜
  • 手游网站怎么做/seo先上排名后收费
  • 网站一般用什么软件做的/全网营销推广靠谱吗
  • wordpress搭建企业网站/google play三件套
  • 外贸功能网站建设/百度推广业务员电话
  • 生产型或服务型企业网站有哪些/aso推广优化
  • 17网站一起做网店靠谱/网站建设报价单
  • wordpress百度站内搜索/链接交换
  • 民治做网站哪家便宜/报个计算机培训班多少钱
  • 自己做的网站如何兼容ie11/链接网
  • 宜兴城乡建设局网站/重庆seo什么意思
  • 做百度推广一定要有自已网站/seo搜索引擎优化排名报价
  • 镇江优化九一/百度优化培训
  • 网站建设用图/优质的seo快速排名优化
  • 江山网站设计/品牌营销做得好的品牌有哪些
  • 手机wap网站怎么做/免费推广网站入口
  • [Mysql数据库] Mysql安全知识
  • 算法 ----- 链式
  • 吴恩达 Machine Learning(Class 3)
  • STM32H743芯片STM32H750解密解析
  • Linux 文件系统权限管理(补充)
  • 在 React 中,​父子组件之间的通信(传参和传方法)