欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

JAVA_OA(六):SpringMVC登陆实例

发布时间:2025/3/21 javascript 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 JAVA_OA(六):SpringMVC登陆实例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

JAVA_OA(六):登陆实例

  • 例子逻辑简述
  • SpringMVC中的jdbc
  • 具体代码
  • 例子逻辑简述

  • 登陆信息的提交(提交方法:/user/login.do)
  • Controller中执行@RequestMapping(“/user/login.do”)
  • 找到判断方法UserDao,执行并返回结果
  • Controller返回结果
    这个是一般的登录流程图(但是,这次我们的登陆错误将会直接用Error页面代替):
  • Created with Raphaël 2.1.0开始loginUserDao登陆成功yesno

    SpringMVC中的jdbc

    这个是jar包,我这次用的是Oracle,但是要注意版本3.28似乎不支持Oracle12c,但是支持11g。但是如果换成4的话,注意jdk要换成8,咳咳。

    具体代码



    1.先上非java文件

    <!--加载数据库的连接配置 --> <util:properties id="jdbc" location="classpath:db.properties"></util:properties> <!--配置数据源 数据库连接池--> <!-- 会一一注入到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 #数据源配置 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页面}}// list@RequestMapping("/user/list.do")public String list(ModelMap map){List<User> list=UserDao.list();map.addAttribute("listsss", list);return "list";//这里没有影响,你可以随便返回一个不是error的页面}

    3.Dao

    *** 数据库连接池的好处:* * 1 重用资源以减少链接次数* 我用的时候 问数据源 要一个 用完了关闭 ;* IO性能消耗* 2 更好的屏蔽数据库的相关性,保护数据库**/ @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=?";/*** 第一 个 连接效率比较高 用的是 预编译的sql(PreparedStatement)* 第二个 可以防止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();//实际上是调用了重写的close方法,关闭了连接池--可以先无视} 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;}}

    总结

    以上是生活随笔为你收集整理的JAVA_OA(六):SpringMVC登陆实例的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。