shh

来源:互联网 发布:淘宝怎样打造爆款 编辑:程序博客网 时间:2024/04/27 16:54

http://meilvin.blog.hexun.com QQ:586762 说明:此课程是oksonic视频课程的批改,我移栽到eclipse3.2+myEclipse5.0环境下班具: eclipse-SDK-3.2.1、MyEclipse_5.0.1GA_E3.2、Tomcat_5.5.15、mysql-5.0.18 有关文件下载说明:http://meilvin.gbaopan.com/files/0584e783cd五b489baaa072f三c5616038.gbp properties二GBK.bat:http://meilvin.gbaopan.com/files/75bad八e012a94b六f八ab一f03ac五e17dba.gbp 视频课程下载底下五个放在同一文件夹解压即可 http://meilvin.gbaopan.com/files/83b41d79529c四c三c807d61310465043b.gbp http://meilvin.gbaopan.com/files/零ff八c56ccd134f二e9730d零f四cf38a59b.gbp http://meilvin.gbaopan.com/files/四d三c645ca零dc415dae16b二eb56de2270.gbp http://meilvin.gbaopan.com/files/f3683bd四a九c44d七b95452089dda四a四fb.gbp http://meilvin.gbaopan.com/files/e41ad14882bf40a五ba零cd六d238c五f602.gbp 开始。。新基建工程:姓名为 login 创造Struts构架 创办 index.jsp,增多1链接指向 login.jsp Login 按下Ctrl + N,创办 login.jsp、LoginAction,应用MyEclipse的指引就可以了,记得选对准确的版本 在ActionForm配备页入选择部类为动态Form,并承继于DynaValidatorForm,新增两个属性:username、password,在创造jsp资料打上钩,将途径改成/login.jsp,其后下一步,改LoginAction的Input source改成/login.jsp,点击完成 按下Ctrl + N 创设一个forwards,记得选对准确的版本 name 输入 indexGo 途径取舍 /index.jsp 配备validator 先增添Struts插件,施用指引 Plugin class : org.apache.struts.validator.ValidatorPlugIn Property : pathnames Value : /WEB-INF/validator-rules.xml,/WEB-INF/validation.xml 这边亟需两个xml资料现下创设“validation.xml” 资料 资料内容如次:

编者资源文件“ApplicationResources.properties” 增多以次内容 prompt.username=User Name prompt.password=User Password errors.required={零} is required. 再创设汉语件资源文件“ApplicationResources_zh_CN.properties” 增多以次内容 prompt.username=用户姓名 prompt.password=登录密码 errors.required={零} 必需填空!我这没有用Properties Editor插件,所以在tomcat公布后会展示乱码,我们可以用native二ascii来解决我建了个批处理文件properties二GBK.bat native二ascii -encoding gbk ApplicationResources_zh_CN.properties temp.properties del ApplicationResources_zh_CN.properties rename temp.properties ApplicationResources_zh_CN.properties 放在你的classpath停,或许拷到你要转GBK的地方,双击一下子就可以了我刚开始在eclipse编者汉语言properties资料,封存后再打开,也会出现乱码,只要在eclipse上设立一下子就可以了具体设立:Eclipse-->Preferences...-->在“type filter text“栏中输入”Content Types“查寻,其后在取舍右方的Text下部呼应的资料后缀名,即properties.批改其编码就可。可以批改成GBK 我这已经改好了,直接打开乃是汉语言了。。。提议下载 properties Editor插件,我这上不已别国网站,没有办法。。。。得空再下吧。。 批改struts-config.xml资料在以次位置增多validate="true" 这边说明交付的数据必需通过证验,而证验则是透过validator构架开展的。批改web.xml资料增多 index.jsp 展示首页 批改LoginAction.java资料的execute步骤,内容如次 public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { DynaValidatorForm loginForm = (DynaValidatorForm) form; String username=loginForm.getString("username"); String password=loginForm.getString("password"); if(username.equals("test")||password.equals("test")){ return mapping.findForward("indexGo"); }else{ return mapping.getInputForward(); } } 现时再批改一下子login.jsp 增多以次部份

<%@ page language="java" contentType="text/html; charset=UTF-八" %>

内中charset=UTF-八 是应用UTF-八的字符编码,这也是为了支持国际化而运用的。不然汉语仍是会展示乱码至于乱码解决,网上查资料,一查就有一堆我们现下还没有传送汉语言参数,不然还得加个过滤器。。 好了,现下可以起动Tomcat开展测试了 http://localhost:8080/login/ 如其不输入任何数据而直接交付表单的话就可以看到成效了。 好了,如其没有什么问题的话就持续往下看吧,如果有问题的话就得往上看了^_^ 出现了乱码,我们用native二ascii来解决,总得我重启一下子!> ok了 现时创造Spring构架了,在这里我将Spring全部的包所有加载进来,由于我还不知道具体用到哪些种,所有加进去便利点 单选框选第二个,这么的话全部的类库和标签等都将拷贝到项目中去,这么便利之后的布署下一步后是创设配置文件,将资料放到“WebRoot/WEB-INF”索引下,文件姓名为“applicationContext.xml” 配备struts-config.xml资料,增添(spring)的插件 批改LoginAction配备 原: 改成: 这边将应用spring的署理器来对Action开展统制 应交付到/login.do是将控制权付给了spring,其后由spring来决议是不是折回到struts的Action 现时来配备spring

属性singleton="false",点明了Action 的范例获取模式为历次从新创建。解决了Struts中令人申饬的线程保险问题(Struts中,由一个Action范例处置全部的请求,这就招致了种公用资源在并发请求中的线程同步问题。)(摘自spring开发指南) 测试一下,如若没有什么问题的话就持续往下看吧,如果有问题的话就得往上看了^_^ 好的,struts spring俩人变为友人了,亲善的集成到了一行。。。 建立数据库在 这边我运用的是mysql-5.0.18 配备美mySql联接...... 难为情,这边我忘掉驱动怎么写了。。。 CREATE TABLE `user` ( `ID` int(11) NOT NULL auto_increment, `USERNAME` varchar(50) NOT NULL default '', `PASSWORD` varchar(50) NOT NULL default '', PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin一; 增添记要 insert into user (USERNAME,PASSWORD) values ('test','test') 创办Hibernate构架新建包com.test.hibernate com.test.beans 选hibernate3.1 libraries全选,我也不知道那个具体有什么用^_^,也许只选第一个也行,但思忖还要用DAO,第三个也选上了,望其次是高级支持,也加上了,没试里头的功用,大伙儿得空可以试一下。。第二步选 spring configuration file 我们直接在Spring配备hibernate的联接。。就不要创办hibernate.cfg.xml了第三步选existing Spring configuration file我们适才已经创造了一个。。 SessionFactory ID便直接填sessionFactory 第四步 Bean Id填 dataSource 我们用JDBC Driver,DB Profile选适才配备好的应用MyEclipse的数据Database Explorer工具创设User.hmb.xml、AbstractUser.java、User.java,UserDAO资料这边选项比较多,大家伙儿看视频。。我就各异一说了然。。。不懂的看书^_^ 打开User.hbm.xml配置文件,把 catalog="meilvin" 这一项剔除了,要么后果很严重。由于mySql在联接的时分要写上数据库如其我们在这里也写上数据库的名字的话就会反复了,便成为了meilvin.meilvin.user,显然是错的。后边就会报错,我深有体会。 批改UserDAO,增多如次步骤 public boolean isValidUser(String username, String password) { String hql = "from User u where u.username=? and u.password=?"; String []userInfo=new String[二]; userInfo[零]=username; userInfo[一]=password; List userList = this.getHibernateTemplate().find(hql, userInfo); if (userList.size() > 零) { return true; } return false; } 批改LoginAction.java资料,施用userDao的步骤来进展用户应验 package com.test.struts.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.validator.DynaValidatorForm; import com.test.UserDAO; public class LoginAction extends Action { private UserDAO userDAO; public UserDAO getUserDAO() { return userDAO; } public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { DynaValidatorForm loginForm = (DynaValidatorForm) form; // TODO Auto-generated method stub String username = (String) loginForm.get("username"); String password = (String) loginForm.get("password"); loginForm.set("password", null); if (userDAO.isValidUser(username,password)) { return mapping.findForward("indexGo"); } else { return mapping.getInputForward(); } } } 现时剩余最后的spring配备了把原来的 剔除了在最下边增多 利用反转统制发生action 现下可以进展测试了,可以登陆了^-^ 总是说log四j没配备,下次视频配备一下子。。。顺利了。。 登记新用户,用户浏览、剔除用户打开 UserDAO.java 资料,增多以次步骤: public boolean addUser(User user) { try { //调用前方save步骤 save(user); } catch (Exception e) { System.out.println(e.getMessage()); return false; } return true; } 按下 Ctrl + N ,施用引导创造 adduser.jsp 、AdduserForm(DynaValidatorForm)、AdduserAction.java资料,这是登记新用户的Action 我用的是maxthon浏览器,如果是add.jsp,它会当作广告拦下来,,,,多加个user... 批改配备内容如次: 第一句兑现了务须对交付的数据进展应验第二句兑现了和spring集成批改 AdduserAction.java 资料,内容如次: private UserDAO userDAO; public UserDAO getUserDAO() { return userDAO; } public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { DynaValidatorForm adduserForm = (DynaValidatorForm) form; User user = new User(); user.setUsername(adduserForm.getString("username")); user.setPassword(adduserForm.getString("password")); adduserForm.set("password", null); if (userDAO.addUser(user)) { return mapping.findForward("indexGo"); } else { return mapping.getInputForward(); } } 对于在Action中应用 User 对像,我在这里没运用 IoC 模式开展治理,这糟糕,希望大家伙儿在正式运用中运用。在spring配置文件(applicationContext.xml)中加入以次内容: 批改 index.jsp 资料 Login
Add User 批改 adduser.jsp 资料的首行,轮换为以次内容,目的是为了施用UTF-八的编码格式展示页面

<%@ page language="java" contentType="text/html; charset=UTF-八" %>

批改 validation.xml 资料,加入以次内容:

现下整个 AddUser 已经完成,如若你觉着不放心的话可以在这里停一停进步前辈行这一段的测试!创设一个Action用来查询数据,姓名为 find 创办 display.jsp 资料,用来展示全部用户创造一个 forward displayGO 指向 display.jsp 选中 redirect 批改 UserDAO.java 资料,增多 findAllUser() 步骤,代码如次: public List findAllUser() { List users=this.getHibernateTemplate().find("from User u"); if(users.size()>零) return users; return null; } 批改 struts-config.xml 资料 批改 FindAction.java 资料,内容如次: private UserDAO userDAO; public UserDAO getUserDAO() { return userDAO; } public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { List users=userDAO.findAllUser(); if(users!=null){ HttpSession session=request.getSession(); session.setAttribute("users",users); return mapping.findForward("displayGo"); } return mapping.getInputForward(); } 在spring配置文件(applicationContext.xml)中加入以次内容: 批改 display.jsp 资料,内容如次:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-八"%><%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%><%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%><%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>

">
现时整个 Display 已经完成,如若你觉着不放心的话可以在这里停一停进步前辈行这一段的测试!新建一个 Action 用来剔除选中的用户,name:del 批改 struts-config.xml 资料中的以次内容为: 批改 UserDAO.java 资料,增多以次步骤 public boolean delUser(Integer lid) { try { User user=(User)findById(lid); this.getHibernateTemplate().delete(user); } catch (Exception e) { System.out.println(e.getMessage()); return false; } return true; } 批改 DelAction.java 资料,内容如次: public class DelAction extends Action { private UserDAO userDAO; public UserDAO getUserDAO() { return userDAO; } public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { Integer selid=Integer.valueOf(request.getParameter("select")); if(userDAO.delUser(selid)) return mapping.findForward("indexGo"); return mapping.getInputForward(); } } Ctrl+Shift+o导入包在spring配置文件(applicationContext.xml)中加入以次内容: 批改 index.jsp 资料 Login
Add User
Display 代码已经所有完成,可以开展测试了!!!如其测试不成功,请往回查看。。。。终结!!! 出错出错,大小写不注意,乃是这种后果,大伙之后要注意点哦好了,顺利了,祝贺大家伙儿都顺利! 拜拜!
本文来源:
我的异常网
Java Exception
Dotnet Exception
Oracle Exception

  • 3056 - access denied (java.util.PropertyPermission ANTLR_DO_NOT_EXIT read
  • 3057 - org.hibernate.QueryException
  • 3058 - org.springframework.orm.hibernate3.HibernateQueryException
  • 3059 - 异常写法
  • 3060 - ClassCastException
  • 3061 - Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
  • 3062 - web.xml
  • 3063 - java.lang.NumberFormatException:For input string
  • 3064 - sqlexception
  • 3065 - JDBCExceptionReporter
  • 原创粉丝点击