![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaweb学习总结
javaweb的学习总结
程序员小牧之
汲取,分享与成长,我们唯一能做的就是坚持。
展开
-
Struts2中的类型转换
我们知道在web页面中页面提交的都是字符串类型。但实际的java代码处理的数据有的是int型却没有出错。这是因为Struts2中类型转换框架默默地帮助用户完成了类型转换的功能,只要用户输入的数据能合理的转换成需要的属性类型,Struts2的类型转换框架就会在execute方法执行之前完成转换。一.Struts2中一些内建类型转换器1.简单类型int/Integer 整数型short/Sh...原创 2020-05-04 09:02:06 · 246 阅读 · 0 评论 -
Struts2几个常见的验证器
我们可以把验证器分为两类:1.字段验证器2.动作验证器但无论是那种验证器,我们都应该考虑以下问题:1.验证谁?2.使用什么条件验证3.不满足条件时在那个页面的那个位置显示什么结果一.字段验证器...原创 2020-04-27 14:30:38 · 507 阅读 · 0 评论 -
Struts2验证框架的基本实现
在学习此框架之前,我们先了解下一个好的验证框架都需要考虑什么:1.验证功能的验证性2.验证功能的可扩展性3.验证与业务逻辑的分离一.使用Struts2中的验证框架非常简单,只需要添加一个XML,这个XML命名为Action类名-validation.xml (实现了1,2,3),放在需要验证的Action类同包中,其内容为这个Action的execute方法运行之前要对用户的输入进行各种...原创 2020-04-26 10:24:26 · 204 阅读 · 0 评论 -
ServletActionContext
有些时候,根据功能需要,在Action中必须能获取到Servlet相关的API。比如要操作Cookie,这个时候就要用ServletActionContext了。1.ServletActionContext概述我们可以先看下它的源码:package org.apache.struts2;import com.opensymphony.xwork2.ActionContext;impor...原创 2020-04-25 11:48:59 · 1371 阅读 · 0 评论 -
ActionContext
一.再探广义值栈1.ActionContext的线程安全性我们知道Struts2 在每次执行Action之前都会创建新的ActionContext,在同一个线程里ActionContext里面的属性唯一,这样Action就可以在多线程中使用。我们在ActionContext的源码中可以找到下面语句: static ThreadLocal actionContext = new Threa...原创 2020-04-24 17:52:23 · 156 阅读 · 0 评论 -
使用OGNL访问复杂对象
一.访问域对象(javabean对象)例子:1.首先我们先建立一个域对象:package bean;public class UserModel { private String userId; private String name; public String getUserId() { return this.userId; } public void set...原创 2020-04-24 11:48:37 · 472 阅读 · 0 评论 -
OGNL基础学习
一.什么是OGNL?Object-Graph Navigation Language(对象图导航语言),是一种功能强大的表达式语言(EL)用在就是jsp中,通过简单一致的表达式语法存取对象的属性,调用对象的方法,遍历对象的结构图,实现字段类型转化等功能。下面只是关于OGNL的简单介绍,若想学好它,请去http://commons.apache.org/proper/commons-ognl/i...原创 2020-04-23 16:43:07 · 221 阅读 · 0 评论 -
解决使用Struts2的timer拦截器无法显示信息的情况
一.首先将我们下载的Struts2项目包中的struts2-rest-showcase.war\WEB-INF\src\java目录下的log4j2.xml文件复制到我们Struts2项目的src文件下:编辑它:<?xml version="1.0" encoding="UTF-8"?><Configuration> <Appenders> ...原创 2020-04-23 12:40:07 · 169 阅读 · 0 评论 -
值栈基础学习
一.值栈是什么?简单来说,值栈是对应每一个请求对象的轻量级的内存数据中心。二.特点1.它统一管理数据,供Action,Result,Interceptor等其他组件使用,这样一来,数据被集中管理,大大方便了编程。2.大多数情况下,用户无需关心其内部,只需要去获取自己需要的数据就可以了,即用户可以隐式的使用值栈。3.但当我们需要编写自定义的Result或拦截器等复杂功能时,还是需要显示访问...原创 2020-04-22 16:38:17 · 298 阅读 · 0 评论 -
自定义拦截器
一.什么是自定义拦截器?顾名思义,就是用户自己定义的并实现的拦截器。虽然Sturts2中已经有了一些拦截器,但并不能完全满足我们的开发需求,有时,我们需要自己来开发拦截器以满足需求。二.如何开发自定义拦截器?再Struts2中,所有拦截器都要实现com.opensymphony.xwork2.interceptor.Interceptor接口:public interface Interc...原创 2020-04-21 21:15:05 · 805 阅读 · 0 评论 -
Result
1.Result是什么和它能干什么?它指示了Action执行完成后下一个页面在哪里。2.ResultType是什么?所谓ResultType,就是具体执行Result的类,由他来决定采用哪一种视图技术将执行结果展现给用户。3.再Struts 2 中,预定义了一些Result的字符串常量:SUCCESS: 表示Action执行成功,显示结果视图给用户,值为字符串常量的小写形式(succes...原创 2020-04-20 16:35:25 · 2616 阅读 · 0 评论 -
在eclipse中以struts2.5.22项目配置及使用
开发工具:eclipse+tomcat(9.0)+struts2.5.22首先从官网下载struts-2.5.22-all.zip压缩包,解压之。然后新建一个空web项目其次将struts-2.5.22-all的lib目录下的jar文件复制到web项目WEB-INF下的lib中接着配置web.xml文件:<?xml version="1.0" encoding="UTF-8...原创 2020-04-15 17:24:15 · 1980 阅读 · 3 评论 -
使用Tomcat数据库连接池全过程
eclipse+mysql(8.0)+tomcat(9.0)一.在Tomcat 文件夹中的lib目录下添加MySQL驱动包.二.编辑在servers目录下的context.xml文件:在Context标签体中添加下面语句:<Resource name="mldn/jdbc" auth="Container" type="javax.sql.DataSource"...原创 2020-04-07 11:28:04 · 936 阅读 · 1 评论 -
Servlet学习之过滤器
通过前面的学习,我们知道了JSP可以完成的功能Servlet都可以完成,而Servlet可以做的事JSP未必能做:过滤和监听一.下面来了解下过滤器:1.过滤器在web中的作用:当需要限制用户访问某些资源或者在处理请求时提前处理某些资源时,过滤器的作用就显现出来了。2.何为Servlet过滤器?它是一种链式处理的已组件的形式绑定到web应用中的工具。下图为它的工作原理:我们通过实现j...原创 2020-04-06 14:19:54 · 138 阅读 · 0 评论 -
HttpServletRequest和HttpServletResponse接口
一.背景我们都知道,Servlet最主要的作用就是处理客户端请求,并向客户端做出响应。为此Servlet在加载后都会创建两个对象:1.HttpServletRequest对象2.HttpServletResponse对象我们先来回顾一下浏览器访问Servlet过程:二.HttpServletResponse接口它继承自ServletResponse接口,作用是封装HTTP响应消息。...原创 2020-04-05 10:51:36 · 2445 阅读 · 1 评论 -
SmartUpload组件如何在eclipse中使用
1.首先,我们可以在网上获取smartUpload组件的jar包(网上很多)2.然后将这个包放在WEB-INF下的lib目录中如下图:然后就可以写代码来使用它了:例子:Text01.html<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert t...原创 2020-04-03 12:10:21 · 440 阅读 · 0 评论 -
DAO设计模式基础及其实例
总结自《Java Web开发实战经典》–李兴华实例: 这个也是书中的实例:一.首先建立一张表:mysql> create table emp( -> empno int(4) primary key, -> ename varchar(10), -> job varchar(9), -> hiredate date, ...原创 2020-04-02 15:14:24 · 417 阅读 · 0 评论 -
当jsp自定义标签结果既没有报错,也没有显示正确结果时
前几天在练习一个jsp自定义标签时,遇到了这样的情况:当我写好代码后,启动服务器,访问它,结果既没有报错也不显示我要的结果,就是一片空白当时我的代码是这样的:java文件:package com.yan.tag;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.BodyTagSupport;p...原创 2020-03-16 20:15:59 · 444 阅读 · 0 评论 -
java连接mysql一般步骤
1.首先在电脑上安装mysql2.然后在开发项目中导入相应的jar包3.然后在代码中调用相应类进行调用。例子:事先在mysql中创建了名为jdbc的数据库建立了叫user的表:mysql> create database jdbc;Query OK, 1 row affected (0.05 sec)mysql> use jdbcDatabase changedm...原创 2020-03-12 11:41:10 · 241 阅读 · 0 评论 -
解决JSP中文乱码问题
一般将jsp文件的第一行改为:<%@ page language=“java” contentType=“text/html; charset=UTF-8”pageEncoding=“UTF-8”%>即可。原创 2020-03-10 17:10:02 · 640 阅读 · 0 评论