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

响应式网站模板 视差南京cms建站系统

响应式网站模板 视差,南京cms建站系统,做兼职的网站贴吧,个人网站怎样申请本文是基于慕课网的《Struts2入门》视频教程笔记。 一.MVC模式controlviewmodel 1、jspjavaBeanmodel jsp里会嵌入大量的js片段和java代码#xff0c;可读性变差。 2、jspservletjavaBean 典型的MVC模式 二.MVC流程 在Struts2中#xff0c;action就是Controller。 …本文是基于慕课网的《Struts2入门》视频教程笔记。 一.MVC模式controlviewmodel 1、jspjavaBeanmodel jsp里会嵌入大量的js片段和java代码可读性变差。 2、jspservletjavaBean 典型的MVC模式 二.MVC流程 在Struts2中action就是Controller。 三.搭建struts2的环境步骤 1、下载相关jar包 struts基础jar包 2、创建Web项目 3、创建并完善相关配置 4、创建action并测试启动 创建一个action类继承ActionSupport类。继承本项目的 四.struts2核心文件 1、web.xml Web项目启动第一个加载的就是web.xml。 web.xml配置 ?xml version1.0 encodingUTF-8? web-app xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://java.sun.com/xml/ns/javaee xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd idWebApp_ID version3.0display-namestruts/display-namewelcome-file-list welcome-fileindex.jsp/welcome-file/welcome-file-list!-- 加过滤器 -- filterfilter-namestruts/filter-name!--指定struts的过滤器 --filter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class /filterfilter-mappingfilter-namestruts/filter-name!--过滤路径,/*表示所有路径都需要过滤 --url-pattern/*/url-pattern /filter-mapping/web-app 2、struts2.xml 2.1.struts2.xml中包含的内容 全局属性 用户请求和相应Action之间的对应关系 Action可能用到的参数和返回结果 各种拦截器的配置 ?xml version1.0 encodingUTF-8? !DOCTYPE struts PUBLIC-//Apache Software Foundation//DTD Struts Configuration 2.1//ENhttp://struts.apache.org/dtds/struts-2.3.dtdstruts!--include节点是strut2中组件化的方式可以将每个功能模块独立到一个xml配置文件中然后用include节点引用 --include filestruts-default.xml/include!-- package提供了将多个Action组织为一个模块的方式package的名字必须是唯一的package可以扩展当 一个package扩展自另一个package时该package会在本身配置的基础上加入扩展package的配置父package必须在子package前配置name:package的名称extents继承父package的名称abstract:设置package的属性为抽象的package不能定义action值true/falsenamespace:定义package的命名空间该命名空间影响到url的地址例如命名空间为/test那么访问的是地址http://localhost:8080/struts2/test/XX.action--package namedefault namespace/ extendsstruts-defaultinterceptors!-- 定义拦截器name:拦截器名称class拦截器类路径--interceptor name class/interceptor!-- 定义拦截器栈 --interceptor-stack nameinterceptor-ref name/interceptor-ref/interceptor-stack/interceptors!-- 定义默认的拦截器每个Action都会自动引用如果Action中引用了其他拦截器默认拦截器将无效 --default-interceptor-ref name/default-interceptor-ref!-- 全局result配置 --global-resultsresult name/error.jsp/result/global-results!-- Action配置一个Action可以被多次映射只要action配置中的name不同name:action名字class对应的类的路径method调用Action中的方法名--action namehelloworld classsrc.action.HelloWorldAction method!-- 引用拦截器name拦截器名称或者拦截器栈名称--interceptor-ref name/interceptor-ref!-- 节点配置name:result名称和Action中返回的值相同type:resultl类型不写则选择superPackage的type struts-default.xml中默认为dispatcher --result name type/result.jsp/result!-- 参数设置name:对应action中的get/set方法 --param name/param/action/package/struts 3、struts2.properties struts2框架的全局属性文件自动加载。与struts2.xml放在一个目录下就可以了。该文件包含很多key-value对。 该文件完全可以配置在struts2.xml文件中使用constant元素。 示例 constant namestruts.devMode valuetrue“五.深入struts2 1、访问Servlet API 1.1、doGet和doPost方法里的两个参数就是Servlet API HttpServletRequest HttpServletResponse 1.2、Struts2中的Action的excute方法 Override public String execute() throws Exception {// TODO Auto-generated method stubreturn super.execute(); }Action的excute方法没有参数不与servlet API耦合但是不去访问不去用request也是不可能的所以struts2提供了三种方式求访问servlet API。 1ActionContext 2实现**Aware接口 3ServletActionContext 2、Action搜索方式 1判断package是否存在 2如果存在判断action是否存在如果不存在则去默认的namespace的package里面寻找action如果还没有则报错 3检查上一级路径的package是否存在知道默认的namespace重复第1步。 3、动态方法调用 动态方法调用是为了解决一个Action对应多个请求的处理以免Action太多调用方法有以下三种 1制定method属性 action nameaddAction methodadd classcom.yan.action.HelloWorldActionresult/result.jsp/result /action2感叹号方式不建议 先配置Struts.xml,开启一个功能 action nameaddAction methodadd classcom.yan.action.HelloWorldAction访问的时候加感叹号感叹号后面加方法名例如 http://localhost:8080/HelloWorld!add.action 3通配符方式 action namehelloworld_* method{1} classcom.yan.action.HelloWorldActionresult/result.jsp/resultresult nameadd/{1}.jsp/resultresult nameerror/{1}.jsp/result /action{1}匹配* action name*_* method{2} classcom.yan.action.{1}Actionresult/result.jsp/resultresult nameadd/{2}.jsp/resultresult nameerror/{2}.jsp/result /action这种方式那么整个项目配置一个action就可以了。 4、指定多个配置文件 include filehelloWorld.xml/include不同的模块使用不同的配置文件。 配置编码 constant namestruts.i18n.encoding valueUTF-8/constant当有编码问题时可以试试把这个加上。 5、默认Action 当访问不到对应的网页系统会报错默认Action就是解决这个问题。 default-action-ref nameindex/default-action-ref action nameindexresult/error.jsp/result /action当访问不存在的网页时都将访问error.jsp 6、更改Struts2后缀.action constan namestruts.action.extentsion valuehtml/constan上例将后缀名改为.html。如果不想要后缀直接将value值设置为空。 7、在action中接收参数 1使用Action的属性接收参数 form表单提交的方式在action类中定义想对应的属性并且生成对应的get/set方法。即可提取参数。 注也可以把这些属性放到一个类中使用面向对象的思想。即第2中方式。 2使用DomainModel接收参数 前后台的对象要对应。 例后台Action类中有属性 Private User user;可不实例化 注下面也必须有对应的get/set方法。 那么前台文本框里必须命名为如下 input typetext nameuser.username input typetext nameuser.password3使用ModelDriven接收参数 必须先实现ModelDriven的接口即 implements ModelDriven 以及生成方法getModel()实现接口 Override public User getModel() {// TODO Auto-generated method stubreturn user; }注user必须实例化 优点不需要生成get/set方法且当后台对象名改变时不需要更改前台的对象名。是推荐使用的一种传参方式。 public class HelloWorldAction extends ActionSupport implements ModelDrivenUser{private User usernew User();Overridepublic String execute() throws Exception {System.out.println(执行Action);return SUCCESS;}Overridepublic User getModel() {// TODO Auto-generated method stubreturn user;} }复杂类型接收参数 例1 input typetext namebooklist[0] input typetext namebooklist[1]例2 input typetext namelist[0].username input typetext namelist[1].username8、处理结果类型 8.1 struts2的处理流程 用户请求-Struts框架-控制器Action-Struts框架-视图资源 result name type/result.jsp/result如果省略name属性系统将采用默认的name属性值success. 注带“/”表示绝对路径开始就是项目的上下文路径 不带“/”表示相对路径开始是action的namespace指定的路径。 关于input代码演示 result nameinput/login.jsp/results:fielderror nameusername/s:fielderrorstruts2的默认标签添加 % taglib prefixs uri/struts-tags%当表单验证不正确的时候就会跳转到login.jsp页面。 input typetext nameuser.usernameifuser.getUsername()null||.equals(user.getUsername())){ this.addFieldError(username,用户名不能为空); return INPUT; }注这种方法必须写return INPUT才能跳转到错误界面如果不想这样的写的话我们需要重写validate方法如下 public void validate() { ifuser.getUsername()null||.equals(user.getUsername())){ this.addFieldError(username,用户名不能为空); } }8.2 处理结果根据位置不同可以分为两种结果 1局部结果将作为元素的子元素配置 2全局结果将作为元素的子元素配置 8.3 struts2支持多种视图技术例如jsp、Valocity、FreeMarker等 。 result name type/result.jsp/resultresult标签里的type属性就是为了定义支持的视图技术。 补充重定向会丢失请求参数。
http://www.hkea.cn/news/14295487/

相关文章:

  • 网页设计作品下载企业怎么做好网站优化
  • 网站空间每年继费到哪交代运营一个月多少钱
  • 服装商城网站源码c2c交易
  • 做装修工程找什么网站接单铝合金型材外发加工网
  • 微信链接网页网站制作安阳企业网站优化排名
  • 昌图门户网站用家庭宽带做网站
  • 烤漆 东莞网站建设厦门市建设局网站
  • 模板网站建设教程视频教程内网专线和外网专线区别
  • 自己做的网站实现扫码跳转系统设计
  • 单页淘客网站怎么建设网络营销推广方法是什么和什么的合理利用
  • 设计和建设企业网站心得和体会wordpress ide
  • 盐都区城乡建设局网站权威的合肥网站推广
  • 建网站数据库手机品牌排行榜
  • 东莞塘厦网站制作关键词推广优化外包
  • 抑郁症图片加时间生成器在线制作商丘seo快速排名
  • 网站建设技术方案网站官网
  • 网时 网站服务器租赁无限流量网站建设
  • 为什么网站目录不收录做外贸如何分析客户网站
  • 网站 当前时间 代码广州建立网站
  • 网站建设公司止一se0apache php mysql wordpress
  • 网站数据分析wordpress主题 qux
  • 网站系统建设开票要开什么手机自适应网站源码
  • 做炭化料的网站怎么做代理ip网站
  • 石林网站建设专业做网站咨询
  • 北京网站设计公司兴田德润放心文化墙 北京广告公司
  • 网站建设哪些是需要外援的问题平台公司转型
  • asp网站用什么软件建设厅官方网站企业库
  • 假网站怎么做企业网站建设哪家
  • .net如何做网站发布公司信息的网站
  • 网站开发的人员工程业绩在哪个平台上查询