日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

JAVA_OA(六):SpringMVC登陆实例

發(fā)布時(shí)間:2025/3/21 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA_OA(六):SpringMVC登陆实例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

JAVA_OA(六):登陸實(shí)例

  • 例子邏輯簡(jiǎn)述
  • SpringMVC中的jdbc
  • 具體代碼
  • 例子邏輯簡(jiǎn)述

  • 登陸信息的提交(提交方法:/user/login.do)
  • Controller中執(zhí)行@RequestMapping(“/user/login.do”)
  • 找到判斷方法UserDao,執(zhí)行并返回結(jié)果
  • Controller返回結(jié)果
    這個(gè)是一般的登錄流程圖(但是,這次我們的登陸錯(cuò)誤將會(huì)直接用Error頁(yè)面代替):
  • Created with Rapha?l 2.1.0開始loginUserDao登陸成功yesno

    SpringMVC中的jdbc

    這個(gè)是jar包,我這次用的是Oracle,但是要注意版本3.28似乎不支持Oracle12c,但是支持11g。但是如果換成4的話,注意jdk要換成8,咳咳。

    具體代碼



    1.先上非java文件

    <!--加載數(shù)據(jù)庫(kù)的連接配置 --> <util:properties id="jdbc" location="classpath:db.properties"></util:properties> <!--配置數(shù)據(jù)源 數(shù)據(jù)庫(kù)連接池--> <!-- 會(huì)一一注入到class中,value是db中的值,這里不懂可以看三 --><bean id="ds" class="org.apache.commons.dbcp.BasicDataSource"><property name="url" value="#{jdbc.url}"></property><property name="driverClassName" value="#{jdbc.driver}"></property><property name="username" value="#{jdbc.user}"></property><property name="password" value="#{jdbc.password}"></property><property name="maxActive" value="#{jdbc.maxActive}"></property><property name="maxWait" value="#{jdbc.maxWait}"></property></bean>db.properties: user=javaoa password=******(此處保密) url=jdbc:oracle:thin:@localhost:1521:orcl driver=oracle.jdbc.OracleDriver #數(shù)據(jù)源配置 maxActive=5 maxWait=5000

    2.Controller的代碼

    @Resourceprivate TeacherDao UserrDao;@RequestMapping("/user/login.do")public String login(String id,String name,String password,HttpSession session){String s=UserDao.login(name, password);if(s.equals("true")){session.setAttribute("login", "true");return "redirect:list.do";}else{return "error";//直接返回error頁(yè)面}}// list@RequestMapping("/user/list.do")public String list(ModelMap map){List<User> list=UserDao.list();map.addAttribute("listsss", list);return "list";//這里沒有影響,你可以隨便返回一個(gè)不是error的頁(yè)面}

    3.Dao

    *** 數(shù)據(jù)庫(kù)連接池的好處:* * 1 重用資源以減少鏈接次數(shù)* 我用的時(shí)候 問數(shù)據(jù)源 要一個(gè) 用完了關(guān)閉 ;* IO性能消耗* 2 更好的屏蔽數(shù)據(jù)庫(kù)的相關(guān)性,保護(hù)數(shù)據(jù)庫(kù)**/ @Component public class UserrDao {@Resource(name="ds")private DataSource dataSource;public String login(String name,String password){Connection conn=null;String s=null;try {conn=dataSource.getConnection();String sql="select * from user where name=?";/*** 第一 個(gè) 連接效率比較高 用的是 預(yù)編譯的sql(PreparedStatement)* 第二個(gè) 可以防止sql注入*/PreparedStatement ps=conn.prepareStatement(sql);ps.setString(1, name);ResultSet rs=ps.executeQuery();User user=new User();while(rs.next()){user.setPassword(rs.getString("password"));}if(password.equals(user.getPassword())){s="true";return s;}else{s="false";return s;}} catch (SQLException e) {e.printStackTrace();}finally{try {conn.close();} catch (SQLException e) {e.printStackTrace();}}return s;}public List<User> list(){List<User> tlist=new ArrayList<User>();Connection conn=null;String s=null;try {conn=dataSource.getConnection();String sql="select * from User";PreparedStatement ps=conn.prepareStatement(sql);ResultSet rs=ps.executeQuery();while(rs.next()){User user=new User();user.setId(rs.getString("id"));user.setName(rs.getString("name"));user.setPassword(rs.getString("password"));tlist.add(t);}} catch (SQLException e) {e.printStackTrace();}finally{try {conn.close();//實(shí)際上是調(diào)用了重寫的close方法,關(guān)閉了連接池--可以先無視} catch (SQLException e) {e.printStackTrace();}}return tlist;}@Testpublic void test1(){ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");User s=ac.getBean("testDao",UserDao.class);System.out.println(s.getDataSource().toString());}public DataSource getDataSource() {return dataSource;}public void setDataSource(DataSource dataSource) {this.dataSource = dataSource;}}

    總結(jié)

    以上是生活随笔為你收集整理的JAVA_OA(六):SpringMVC登陆实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。