Java in Tarena_Spring Note04
Spring–Day04
上午:
1、通過(guò)注釋@RequestMapping和@Controller讀取請(qǐng)求參數(shù)的三種方法
1.1、通過(guò)request對(duì)象
1.2、通過(guò)同名參數(shù)
1.3、通過(guò)javabean
2、通過(guò)注釋@RequestMapping和@Controller向頁(yè)面?zhèn)髦档乃姆N方法
2.1、通過(guò)request對(duì)象
2.2、通過(guò)session對(duì)象
2.3、通過(guò)ModelAndView對(duì)象
2.4、通過(guò)ModelMap對(duì)象
3、練習(xí):見(jiàn)附錄
下午:
1、注釋@RequestMapping和@Controller–重定向的使用
2、通過(guò)Spring_MVC的思路完成Netctoss項(xiàng)目(上)
———————————————–上午部分—————————————————-
讀取請(qǐng)求參數(shù)
1、通過(guò)request對(duì)象
@RequestMapping("/login.do")/** 使用request讀取請(qǐng)求參數(shù)值*/public String checkLogin(HttpServletRequest request){System.out.println("LoginController的checkLogin方法...");String username=request.getParameter("username");String pwd=request.getParameter("pwd");System.out.println("username:"+username+"pwd:"+pwd);return "success";}2、通過(guò)同名的參數(shù)
/** 讀取請(qǐng)求參數(shù)的第二種方法:* 將處理方法的參數(shù)名設(shè)置為請(qǐng)求參數(shù)名。*/@RequestMapping("/login2.do")public String checkLogin2(String username,@RequestParam("pwd")String password){System.out.println("checkLogin2方法..");System.out.println("username:"+username+"pwd:"+password);return "success";}3、通過(guò)javabean
@RequestMapping("/login3.do")/** 讀取請(qǐng)求參數(shù)的第三種方式:* 使用javabean。*/public String checkLogin3(User user){System.out.println("checkLogin3..");String username =user.getUsername();String pwd = user.getPwd();System.out.println("username:"+username+"pwd:"+pwd);return "success";}/** 向頁(yè)面?zhèn)髦档牡谝环N方式:* 使用request對(duì)象。*/@RequestMapping("/login4.do")public String checkLogin4(HttpServletRequest request, User user){System.out.println("checkLogin4方法...");request.setAttribute("status", "success");request.setAttribute("username", user.getUsername());return "success";}
2、通過(guò)session對(duì)象
@RequestMapping("/login5.do")public String checkLogin5(HttpSession session,User user){/** 向頁(yè)面?zhèn)髦档牡诙N方式:* 使用session。*/System.out.println("checkLogin5方法..");session.setAttribute("status", "success");session.setAttribute("username",user.getUsername());return "success";}3、通過(guò)ModelAndView對(duì)象
/** 向頁(yè)面?zhèn)髦档牡谌N方式:* 使用ModelAndView。*/@RequestMapping("/login6.do")public ModelAndView checkLogin6(User user){System.out.println("checkLogin6的方法");Map<String,Object> data = new HashMap<String,Object>();//相當(dāng)于request.setAttribute...data.put("status","success");data.put("username",user.getUsername());return new ModelAndView("success",data);}4、通過(guò)ModelMap對(duì)象
/** 向頁(yè)面?zhèn)髦档牡谒姆N方式:* 使用ModelMap對(duì)象。*/@RequestMapping("/login7.do")public String checkLogin7(User user,ModelMap data){System.out.println("checking7的方法..");//相當(dāng)于request.setAttribute...data.addAttribute("status","success");data.addAttribute("username",user.getUsername());return "success";}———————————————–下午部分—————————————————-
重定向
*處理方法返回值是String
*處理方法返回值是ModelAndView
RedirectView rc =new RedirectView("toLogin.do");return new ModelAndView(rc);在LoginController里添加方法:
@RequestMapping("/login8.do") public String checkLogin8(User user,ModelMap data){System.out.println("checkLogin8方法..."); }—-Spring MVC應(yīng)用 ___Netctoss項(xiàng)目—————15:20
準(zhǔn)備工作:
1、創(chuàng)建web工程(spring-netctoss)
2、導(dǎo)包:
- spring mvc 相關(guān)的jar文件
- jdbc jar文件
- dataSource相關(guān)的jar文件
3、spring配置文件(spring-mvc.xml)
4、配置DispatcherServlet(web.xml)
5、Admin實(shí)體類
6.編寫Admin.Dao
package com.tarena.oss.dao;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;import javax.annotation.Resource; import javax.sql.DataSource;import org.springframework.stereotype.Repository;import com.tarena.oss.entity.Admin;/*** * DAO類* 封裝了數(shù)據(jù)庫(kù)操作。* 資源池* 注:* DAO屬于數(shù)據(jù)訪問(wèn)層,一般使用* @Repository注解。*/ @Repository("adminDAO") public class AdminDao {@Resource(name="ds1")//使用依賴注入的方式,注入DataSourceprivate DataSource ds;public Admin findByAdminCode(String adminCode) throws SQLException{Admin admin = null;Connection conn = null;PreparedStatement stat = null;ResultSet rst = null;try{conn = ds.getConnection();String sql = "SELECT * FROM admin_info_moy " +"WHERE admin_code=?";stat = conn.prepareStatement(sql);stat.setString(1, adminCode);rst = stat.executeQuery();if(rst.next()){Admin a = new Admin();a.setAdminId(rst.getInt("admin_id"));a.setAdminCode(rst.getString("admin_code"));a.setPassword(rst.getString("password"));a.setName(rst.getString("name"));a.setTelephone(rst.getString("telephone"));a.setEmail(rst.getString("email"));a.setEnrolldate(rst.getTimestamp("enrolldate"));return a;}} catch (SQLException e){//記日志(保留現(xiàn)場(chǎng))e.printStackTrace();/** 看異常能否恢復(fù),如果* 不能恢復(fù)(發(fā)生了系統(tǒng)異常:* 比如數(shù)據(jù)庫(kù)服務(wù)暫停),則* 提示用戶稍后重試。*/throw e;} finally {if(conn!=null){conn.close();}}return admin;}}7.配置db.properties文件(提供數(shù)據(jù)庫(kù)連接信息)
driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@192.168.0.206:1521:oracle username=jsd1512 password=jsd15128.編寫配置文件 spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:util="http://www.springframework.org/schema/util"xmlns:jpa="http://www.springframework.org/schema/data/jpa"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsdhttp://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsdhttp://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd"><!-- 開(kāi)啟組件掃描 --><context:component-scan base-package="controller"/><!-- 開(kāi)啟springmvc注解掃描 --><mvc:annotation-driven/><!-- 配置視圖解析器ViewResolver --><bean id="jspViewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/"/><property name="suffix" value=".jsp"/></bean><!-- 讀取properties文件的內(nèi)容 --><util:properties id="jdbc"location="classpath:db.properties"/><!-- 配置DataSource --><bean id="ds1" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><property name="url" value="#{jdbc.url}"/><property name="driverClassName" value="#{jdbc.driver}"/><property name="username" value="#{jdbc.username}"/><property name="password" value="#{jdbc.password}"/></bean> </beans>17:00
附錄
練習(xí):
計(jì)算一個(gè)人的bmi指數(shù)。
算法:
bmi指數(shù)=體重(KG)/身高(m)/身高(m)
如果bmi指數(shù)>24,過(guò)重,
否則 正常。
bmiController.java
package controller;import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping;@Controller public class bmiController {@RequestMapping("/bmi.do")public String bmitest(){System.out.println("bmiController的" +"bmitest方法..");return "bim";}@RequestMapping("/show.do")public String show(String weight,String height){System.out.println("bmiController的" +"show方法..");double wt = Double.parseDouble(weight);double ht = Double.parseDouble(height);System.out.println(wt);System.out.println(ht);if(wt/(ht*ht)<=24.0){return "Nomal";}else{return "Upweight";}}@RequestMapping("/show2.do")public String show2(user p,ModelMap data){System.out.println("bmiController的" +"show2方法..");double ht=p.getHeight();double wt=p.getWeight();if((wt/(ht*ht))<=24.0){data.addAttribute("state","正常的");}else{data.addAttribute("state","過(guò)重了");}return "Nomal";} }bim.jsp
<%@page pageEncoding="utf-8"%> <html><head></head><body sytle="font-size:30px;"><form action="show.do" method="post"><fieldset><legend>Bmi測(cè)試</legend>體重:<input name="weight"/><br/>身高: <input name="height"/><br/><input type="submit" value="查看"/></form></body> </html>總結(jié)
以上是生活随笔為你收集整理的Java in Tarena_Spring Note04的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 联想拯救者Y7000加装内存条
- 下一篇: 【Java】 8.7 使用红-黄-红色渐