当前位置:
首页 >
前端技术
> javascript
>内容正文
javascript
JAVA_OA(六):SpringMVC登陆实例
生活随笔
收集整理的这篇文章主要介绍了
JAVA_OA(六):SpringMVC登陆实例
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
JAVA_OA(六):登陆实例
例子逻辑简述
这个是一般的登录流程图(但是,这次我们的登陆错误将会直接用Error页面代替):
SpringMVC中的jdbc
这个是jar包,我这次用的是Oracle,但是要注意版本3.28似乎不支持Oracle12c,但是支持11g。但是如果换成4的话,注意jdk要换成8,咳咳。
具体代码
1.先上非java文件
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登陆实例的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: JAVA_OA(五)(番外篇):Spri
- 下一篇: Spring Framework Ref