Library学习日志(……)
添加Library在buildpath中,就是右键工程->properties->java buildpath->Libraries
然后点击add Library就是添加Library 根据提示添加即可,
向已有Library中添加jar,添加内部的点击add jar;添加外部的点击add External JARS;
其中有一个WebLibrary可能已经存在于工程中了,但在工程树中找不到,解决办法就是手动把referenceLibrary中的jar拷到WebINF下的lib文件夹中就可以了。
在一个Web应用中表单form的生命周期:
以登录所用的登录表单为例介绍:
- login.jsp:
- <form name="form1" method="post" action="manager.do?action=login">
- <servlet>
- <servlet-name>action</servlet-name>
- <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
- <init-param>
- <param-name>config</param-name>
- <param-value>/WEB-INF/struts-config.xml</param-value>
- </init-param>
- <init-param>
- <param-name>debug</param-name>
- <param-value>3</param-value>
- </init-param>
- <init-param>
- <param-name>detail</param-name>
- <param-value>3</param-value>
- </init-param>
- <load-on-startup>0</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>action</servlet-name>
- <url-pattern>*.do</url-pattern>
- </servlet-mapping>
以上是Web.xml
structs-config.xml:
- <action name="managerForm" path="/manager" scope="request" type="com.action.Manager" validate="true">
- <forward name="managerQuery" path="/manager.jsp" />
- <forward name="managerLoginok" path="/main.jsp" />
- <forward name="managerAdd" path="/manager_ok.jsp?para=1" />
- <forward name="managerQueryModify" path="/manager_Modify.jsp" />
Manager.java:
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
- String action = request.getParameter("action");
- System.out.println("获取的查询字符串:" + action);
- if (action == null || "".equals(action)) { /*如果没有操作的动作*/
- return mapping.findForward("error");
- } else if ("login".equals(action)) { /*如果是处理管理员登陆*/
- return managerLogin(mapping, form, request, response);
- } else if ("managerAdd".equals(action)) {
- return managerAdd(mapping, form, request, response);
- } else if ("managerQuery".equals(action)) {
- return managerQuery(mapping, form, request, response);
- } else if ("managerModifyQuery".equals(action)) {
- return managerModifyQuery(mapping, form, request, response);
- } else if ("managerModify".equals(action)) {
- return managerModify(mapping, form, request, response);
- } else if ("managerDel".equals(action)) {
- return managerDel(mapping, form, request, response);
- } else if ("querypwd".equals(action)) {
- return pwdQuery(mapping, form, request, response);
- } else if ("modifypwd".equals(action)) {
- return modifypwd(mapping, form, request, response);
- }
- request.setAttribute("error", "操作失败!");
- return mapping.findForward("error");
- }
- public ActionForward managerLogin(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
- ManagerForm managerForm = (ManagerForm) form;
- managerForm.setName(managerForm.getName());
- managerForm.setPwd(managerForm.getPwd());
- /*将存有管理员信息的formbean传递给DAO业务层处理(查询是否存在该管理员帐号和密码)*/
- int ret = managerDAO.checkManager(managerForm);
- System.out.print("验证结果ret的值:" + ret);
- /*业务层如果返回1,表示验证成功*/
- if (ret == 1) {
- /*将用户帐号保存在session中*/
- HttpSession session = request.getSession();
- session.setAttribute("manager", managerForm.getName());
- /*交给控制器,跳转到登陆成功的页面*/
- return mapping.findForward("managerLoginok");
- } else {
- request.setAttribute("error", "您输入的管理员名称或密码错误!");
- return mapping.findForward("error");
- }
- }
具体的处理就是以上这些内容,form的传递以及request的整个处理过程。
至于让人费解的这一个action的内容
- <form name="form1" method="post" action="manager.do?action=login">
可以用一下这张图来解释:
Library学习日志(……)的更多相关文章
- GRE学习日志
发现开博客园真的很有督促作用,今天也顺便开个GRE学习日志吧 2015-02-09:单词 2015-02-10:单词 2015-02-11:单词 2015-03-02:阅读 2015-03-04:阅读 ...
- Cortex-M3学习日志(六) -- ADC实验
上一次简单的总结了一下DAC方面的知识,好吧,这次再来总结一下ADC方面的东东.ADC即Analog-to-Digital Converter的缩写,指模/数转换器或者模拟/数字转换器.现实世界是由模 ...
- Cortex-M3学习日志(五) -- DAC实验
终于逮了个忙里偷闲的机会,就再学一下LPC1768的外围功能吧,循序渐进是学习的基本规则,也许LPC1768的DAC与8位单片机16位单片机里面集成的DAC操作类似,但是既然这是懒猫的学习日志,就顺便 ...
- webpack2学习日志
webpack说容易也容易,说难也难,主要还是看个人,想学到什么样的程度,很多公司可能要求仅仅是会用就行,但是也有一些公司要求比较高,要懂一些底层的原理,所以还是要花一些时间的,看个人需求.这篇仅仅是 ...
- javascript学习日志:前言
javascript学习日志系列的所有博客,主要理论依据是<javascript权威指南>(犀牛书第6版)以及<javascript高级程序设计第三版>(红色书),目前js行业 ...
- MobileForm控件的使用方式-用.NET(C#)开发APP的学习日志
今天继续Smobiler开发APP的学习日志,这次是做一个title.toolbar.侧边栏三种效果 样式一 一. Toolbar 1. 目标样式 我们要实现上图中的效果 ...
- 我的游戏学习日志3——三国志GBA
我的游戏学习日志3——三国志GBA 三国志GBA由日本光荣公司1991~1995所推出<三国志>系列游戏,该作是光荣在GBA上推出的<三国志>系列作品的第一款.本游戏登场武将总 ...
- 【转】Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性
[转]Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性 Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性
- composer的安装和使用 学习日志
如果你做为一个phper,没有用过composer,那你真的不是一个合格的开发者.那么就来记录一下composer的学习日志 下面分享几个学习源头: composer中文网站:https://www. ...
随机推荐
- STL+位运算的文件
1.queue 队列 queue的头文件是<queue>. 定义queue对象的示例代码如: queue<int>q; 队列内存放的是int类型的数 queue<dou ...
- pathinfo()的用法
pathinfo() 返回一个关联数组包含有 path 的信息. 包括以下的数组元素: [dirname] [basename] [extension] 提示和注释 注释:如果不是要求取得所有单元,则 ...
- 英语发音规则---ea字母组合发音规律
英语发音规则---ea字母组合发音规律 一.总结 一句话总结:字母组合ea的发音规律,在学习字母组合在单词中的发音规律以前,一定要熟练撑握什么是开音节,什么是闭音节,否则你就不撑握这些发音规律. ea ...
- Jquery的ajax获取action中的返回值
js部分: function check() { $.ajax({ type : "POST", url : "myCloudWantseeListHD ...
- 让网站变灰的CSS代码(支持IE、FIREFOX和CHROME)(转)
方法1:支持IE <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xht ...
- HLSL学习笔记(一):基础
http://www.cnblogs.com/rainstorm/archive/2013/05/04/3057444.html 前言 五一在家无事,于是学习了一下HLSL,基于XAN4.0的.学习完 ...
- [转]基于phantomJS实现web性能监控
1.web性能监控背景描述 上期分享的<Web性能监控自动化探索之路–初识WebPageTest>从依赖webpagetest的角度给出了做性能日常检查的方案,但由于依赖结构相对复杂我们需 ...
- bzoj 3083 遥远的国度 —— 树链剖分
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3083 换根后路径还是不变,子树分类讨论一下,树剖后线段树维护即可. 代码如下: #inclu ...
- docker数据卷(volume)
1.什么是数据卷volume https://blog.csdn.net/dream_broken/article/details/52314993 为了了解什么是Docker Volume,首先我们 ...
- SQL连接、嵌套和集合查询---
SQL连接.嵌套和集合查询 一:连接查询 1 .不同表之间的连接查询 例 查询每个学生及其选修课程的情况. 本查询实际上是涉及Students与Reports两个表的连接操作.这两个表之间的联系是通过 ...