Javaシーケンスのフィルタ、サーブレット、JDBC

5080 ワード

フィルタ完了手順
1、javax.servlet.filterインタフェースを実現する
public class Filter implements javax.servlet.Filter{

2、web.xmlファイルにフィルタを配置し、servletを配置するのと同じ
	
		SecondFilter
		com.lanou.product.SecondFilter
	
	
		SecondFilter
		/list
	

3、論理条件に基づいて次のループを実行するか否かを決定し、次のループに入る前にrequestとresponseを符号化フォーマット等の処理を行う
public class Filter implements javax.servlet.Filter{
	public void destroy() {
		
	}
	
	//chain                
	public void doFilter(ServletRequest req, ServletResponse resp, FilterChain filterChain)
			throws IOException, ServletException {
		// Servlet      
		req.setCharacterEncoding("UTF-8");
		resp.setCharacterEncoding("UTF-8");
		resp.setCharacterEncoding("text/html;charset=UTF-8");
		System.out.println("Filter    :  servlet       ");
		//       Servlet,  Servlet          		
		filterChain.doFilter(req,resp);
		System.out.println("Filter    :  servlet       ");
	}

	public void init(FilterConfig arg0) throws ServletException {
		System.out.println("   ");
	}	
}

サーブレットを作成する2つの方法
1.HttpServiceletを継承し、doGetとdoPostメソッドを書き換える
特徴:取得したパラメータはHttpServeretRequestとHttpServeretResponse
コードの例:
package com.lanou.product;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MyServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("Servlet    :  HttpServlet   ");
		//    filter      ,         ,    
		PrintWriter out = resp.getWriter();
		out.println("

hh h1

"); //out.close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }

2、サーブレットインタフェースを実現し、サービス方法を書き換え、要求を処理する.
特徴:取得したパラメータはサーブレットRequestとサーブレットResponse
コードの例:
package com.lanou.product;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.omg.CORBA.PUBLIC_MEMBER;

public class InterServlet implements Servlet{

	@Override
	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public ServletConfig getServletConfig() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void init(ServletConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		
	}

	@Override
	//       ,          
	public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
		System.out.println("serivce     ");
		String name = request.getParameter("name");
		System.out.println("name:"+ name);
	}
	
}

3、両者の差
HttpServeretは後者よりもクッキーの操作が多く、http情報が含まれています.
CSSレイアウトにおけるフローティングの特徴
1、ドキュメントフローから離れる
2、左または右にフローティング親要素または別のフローティング要素に遭遇したことを知っています.
3、浮動子要素は親要素に影響し、親要素の高さが崩れ、親要素は浮動をクリアする必要がある
クリアフローティング
1、clear:both;
2、フローティングの本質を明らかにする:フローティング要素の上または下に十分な空間を追加する
JDBC
役割:Java言語によって編纂され、JavaはJDBCを通じてデータベースに接続し、添削・変更操作を行う
データベースに接続するには
1、まずどのタイプのデータベースに接続するか、どのタイプのドライバを使用するか
2、どのデータベースに接続するか
3、sql指令を生成する
4、sql指令によりオブジェクトを生成する
5、sqlオブジェクトを実行し、結果セットを得る
6、whileループを使用して結果セットを巡り、データベース内の表の具体的な情報を得る
接続データベースの部分コードの例
public class UserDao {
	//       
	public User login(String username,String password) {
		//        
		try {
			//      mysql   
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		try {
			//    ,              
			Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/user?characterEncoding=utf-8","root","root");
			//  sql  
			String sql = "select * from hhh";
			//  sql      
			PreparedStatement ps = connection.prepareStatement(sql);
			//     sql  ,     
			ResultSet rs = ps.executeQuery();
			//  rs.next()            
			while(rs.next()) {
				//    rs         
				//      rs.getString                ,  getString(int   ) getString(String    )         
				String uName = rs.getString("name");
				String pass = rs.getString("password");
				int id = rs.getInt("uid");
				System.out.println("     "+"id:"+id+"name:"+uName+"password:"+pass);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}
}