jsp工作总结:
安装resin+mysql+IIS+JDK的总结
一、首先安装JDK:
一)、下载j2re-1_4_1_02-windows-i586-i.exe,然后直接安装。
二)、安装完配置环境变量:
PATH:C:\JDK\BIN;
CLASSPATH:C:\JDK\LIB\TOOLS.JAR;C:\JDK\LIB\DT.JAR;
JAVA_HOME:C:\JDK; ;这里的C:\JDK后边不能跟有';'
二、然后安装resin;
1、 下载resin-2.1.9.zip,然后进地解压。文件名命名为resin;
2、 配置环境变量,RESIN_HOME:C:\RESIN;这里的C:\RESIN后边不能跟有';'
3、 关闭IIS;
4、 打开resin\bin下的setup.exe;出现一个对话框会出现如下图所示的页面:点击OK,就安装resin1.2。
5、 然后打开resin\conf\resin.ini文件:
<document-directory>F:\jspdata\</document-directory>
这里设置所放程序的路径。
<!-- The http port --><http id='' host='*' port='8088'/>此处设置端口;
6、打开resin\bin下的httpd.exe。这样表示resin 运行成功。
也可以通过控制面板上的管理工具,进入服务后启动resin web server选项,即可。
7、 打开http://127.0.0.1:8080/或者http://localhost:8088/页面即可正常页面。Resin安装完毕。
8.建文件夹---打开服务器(resin)------在jspdata下建文件夹classes----------
在WEB-INF下建文件web.xml内容:
<?xml version="1.0" encoding="gb2312"?>
<web-app>
<!-- <liu> 产权登记信息填写 -->
<servlet servlet-name="CqdjInfoTx" servlet-class="servlet.CqdjInfoTxServlet" />
<servlet-mapping url-pattern="/jsp/Ywdw/CqdjInfoTx" servlet-name="CqdjInfoTx" />
</web-app>用来引用servlet
9.建一个jsp文件: ********************************************************
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="error.jsp" %>
<%@ page import="java.io.*"%>
<%@ page import="beans. FenyeBean "%>-----------------------------引用bean.
<jsp:useBean id="fenye" scope="session" class="beans.FenyeBean"/>-----引用bean.
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title></head><body>
<form action="/servlet/CqbdInfoTx" method="post" name="form">
</form></body></html>
10.错误jsp: ********************************************************
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" isErrorPage="true"%>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title></head><body><%=exception.getMessage()%></body></html>
28.session的用法: ****************************
HttpSession session=req.getSession(true);
session.setAttribute("sesid",sessionid); session.getAttribute("sesid");
thisUser=(UserBean)session.getAttribute("thisUser");
11用户登录servlet文件: ********************************************************
package servlet;
import java.sql.*; import java.util.*;import javax.servlet.*;import javax.servlet.http.*;
import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;import java.io.*;
import bean.DBBean;import bean.userinfoBean;
public class userlogin extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException{}
public void service(HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException{
ServletContext application=getServletContext();
//String userid=(String)application.getAttribute("userid");
//String password=(String)application.getAttribute("password");
DBBean DBcon=new DBBean();userinfoBean userinfo=new userinfoBean();
DBcon.Initialization("sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:ACCESSDB","llg","795");
String userid=request.getParameter("userid"); //获取从表单来的用户名
String password=request.getParameter("password"); //获取从表单来的用户密码
HttpSession session=request.getSession(true);
userid=new String(userid.getBytes("ISO8859_1")); //将密码的字符转换,解决汉字问题
PrintWriter out;response.setContentType("text/html;charset=gb2312");
out=response.getWriter();String id,passw;String prio="";
String sql="select * from userDB";int flag=0;ResultSet rs=null;
rs=DBcon.executeQuery(sql); //执行查询
try{while(rs.next()){id=rs.getString("id"); //获取数据库中用户名
passw=rs.getString("password"); //获取数据库中用户密码
prio=rs.getString("priority");
if(userid.equals(id)&&password.equals(passw)) //如果用户名和密码都正确
{flag=1;break;} }if(flag==1){ userinfo.setuserid(userid);
userinfo.setpriority(prio);out.println(userid+"登录成功!");
session.setAttribute("userinfo",userinfo); //设置sessionbean
response.sendRedirect("/frma.jsp");
}else{out.println("用户登录失败"+userid+password); //如果用户名和密码都不正确
}}catch(SQLException ex)
{out.println(ex.getMessage());}}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException{doGet(request,response);}}
11(01)用户登录成功jsp页面********************************************************
<jsp:useBean id="userinfo" class="bean.userinfoBean" scope="session"/>
<%String userid=userinfo.getuserid(); String userpriority=userinfo.getpriority();
String txt=request.getParameter("tx");%>
12.连接数据库bean:文件********************************************************
package bean;
import java.text.*;import java.util.*;import java.sql.*;import java.io.*;
public class DBBean
{String sDBDriver=""; String sConnStr=""; String suser="";String spass="";
String sHint="";ResultSet rs=null;Connection conn=null;Statement stmt=null;
//返回提示信息
public String getHint(){return sHint;}
public void setDBDriver(String s){sDBDriver=""+s;} //设置数据库驱动
public String getDBDriver(){return sDBDriver;} //返回数据库驱动
public void setConnStr(String s){sConnStr=""+s;} //设置数据库连接
public String getConnStr(){return sConnStr;} //返回数据库连接
public ResultSet getResultSet(){return rs;} //返回结果数据集
public boolean Initialization(String dbDrive,String dbConn,String user,String pass){
sDBDriver=dbDrive; //设置驱动 ,连接 用户以及密码的值
sConnStr=dbConn;suser=user;spass=pass;
try{Class.forName(sDBDriver);sHint="Initialization sucessfully";return true;
}catch(java.lang.ClassNotFoundException e){sHint="Initialization:"+e.getMessage();
return false;}} //初始化数据库
public ResultSet executeQuery(String sql)
{rs=null;try{conn=DriverManager.getConnection(sConnStr,suser,spass);
stmt=conn.createStatement();rs=stmt.executeQuery(sql);
}catch(SQLException ex)
{sHint="executeQuery:"+ex.getMessage();}return rs;} //执行sql语句 ,返回 一个数据 集
public boolean executeUpdate(String sql) //另一个执行sql语句操作但不返回数据集
{try{conn=DriverManager.getConnection(sConnStr,suser,spass);
stmt=conn.createStatement();stmt.executeUpdate(sql);return true;
}catch(SQLException ex){sHint="executerUpdate:"+ex.getMessage();return false;}}
public boolean closeConn()//正常关闭所有的连接
{try{if(rs!=null)rs.close();if(stmt!=null)stmt.close();if(conn!=null)conn.close();
return true;}catch(SQLException ex){sHint="closeConn:"+ex.getMessage();return false;}}}
13.字符串比较********************************************************
str.length()返回字符串str的长度。
str.toLowerCase()把当前字符串str的所有大写字母转换为小写
str.toUpperCase()小写转为大写.
str1.equals(str2)比较str1与str2字符串。返回true或false.
str1.equalsIgnoreCase(str2)比较str1与str2字符串,忽略大小,返回true|false.
str1.compareTo(str2)比较str与str2,返回>0,<0,=0。
返回子串位置:
String a=”sdaf”;
Int pos=a.indexOf(“f”);
14.中文转码********************************************************
在access中从表单中获取的中文数据可以直接放入数据库中,
firstname= new String(firstname.getBytes("ISO8859_1"));
public String GBK2UNI(String s)throws UnsupportedEncodingException{
String temp=s;
temp=new String(s.getBytes("GBK"),"ISO8859_1");
return temp;
}
//将Unicode转换为GBK的代码,在本例程中没有用到
public String UNI2GBK(String s)throws UnsupportedEncodingException{
String temp=s;
temp=new String(s.getBytes("ISO8859_1"),"GBK");
return temp;
}
String str= GBK2UNI(String s); //将GBK转换为Unicode的代码
String str= UNI2GBK(String s) //将Unicode转换为GBK的代码
用户登录时,如果用access做为数据库,库中有汉字信息,则用getParameter获取的信息,要用new String(userid.getBytes("ISO8859_1"));转换,数据库中用getString获取的数据直接与上边的数据进行equals()比较。
SQLSERVER中数据可以用getString直接显示为汉字,
15.页面导向****************************
<%String redirectURL=response.encodeRedirectURL("second.jsp");
response.sendRedirect(redirectURL);%>
<jsp:forward page="/servlet/login">
<jsp:param name="usename" value="jsmith"或<%=expression%>/>
</jsp:forward>
16.自动刷新****************************
<meta http-equiv="refresh" content="2;url=top.jsp; charset=gb2312">
<html>
17.调用 applet: ****************************
<applet code="FindApplet/ChaXun.class" width="650" height="380">
<param name="ZJBH" Value=<%=(String)session.getAttribute("ZJBH")%>>
</applet>
18.jsp页面中调用数据库****************************
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="errorPage.jsp" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:ACCESSDB","llg","790325");
Statement stm=con.createStatement();
ResultSet rs=null;String userid=request.getParameter("userid");
String password=request.getParameter("password");
String sele="select * from userDB ";
String upda="insert into userDB(id,password,priority) values('"+userid+"','"+password+"','001')";
rs=stm.executeQuery(sele);//数据库查询
String id="";int flag=0;
%><%while(rs.next()){id=rs.getString("id");}stm.executeUpdate(upda);%>//数据修改
19.jsp与表单********************************************************
request.getParameter("name")获得表单值
String ab[]=request.getParameterValues("name")获得表单中一个属性值有多个value值的某一个
20时间显示********************************************************
import java.text.*;
insert into JHCodeDB2(JHCode,YXDate) values('"+str+"',cast('"+strDate+"'as datetime))";
转换字符串为日期
import java.text.*;
String strDate = "2004-08-13";
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date sDate = sDateFormat.parse(strDate);
<%@ page language="java" import="java.util.*" %>
<%=(new java.util.Date()).toLocaleString()%>用于显示时间。
<%= new java.util.Date() %> 显示时间
<%java.util.Date dt=new java.util.Date();
int year= dt.getYear();year+=1900;int month= dt.getMonth();
month+=1;int date= dt.getDate();int day=dt.getDay();%>获得时间.
21环境属性值列表*************************************************
<%out.println("protocol:"+request.getProtocol()+"<br>");
out.println("scheme:"+request.getScheme()+"<br>");
out.println("server name:"+request.getServerName()+"<br>");
out.println("server port:"+request.getServerPort()+"<br>");
out.println("Protocol:"+request.getProtocol()+"<br>");
out.println("Server info:"+getServletConfig().getServletContext().getServerInfo()+"<br>");
out.println("Remote addr:"+request.getRemoteAddr()+"<br>");
out.println("Remote Host:"+request.getRemoteHost()+"<br>");
out.println("Character Encoding:"+request.getCharacterEncoding()+"<br>");
out.println("Content Length:"+request.getContentLength()+"<br>");
out.println("content type:"+request.getContentType()+"<br>");
out.println("auth type:"+request.getAuthType()+"<br>");
out.println("http method:"+request.getMethod()+"<br>");
out.println("path info :"+request.getPathInfo()+"<br>");
out.println("path trans:"+request.getPathTranslated()+"<br>");
out.println("query string"+request.getQueryString()+"<br>");
out.println("remote user:"+request.getRemoteUser()+"<br>");
out.println("session id:"+request.getRequestedSessionId()+"<br>");
out.println("request uri:"+request.getRequestURI()+"<br>");
out.println("servlet path:"+request.getServletPath()+"<br>");
out.println("accept:"+request.getHeader("Accept")+"<br>");
out.println("host:"+request.getHeader("host")+"<br>");
out.println("referer:"+request.getHeader("Referer")+"<br>");
out.println("accept-language:"+request.getHeader("Accept-Language")+"<br>");
out.println("Accept-Encoding:"+request.getHeader("Accept-Encoding")+"<br>");
out.println("User-Agent:"+request.getHeader("User-Agent")+"<br>");
out.println("Connection:"+request.getHeader("Connection")+"<br>");
out.println("Cookie:"+request.getHeader("Cookie")+"<br>");
out.println("Createdd:"+session
.getCreationTime()+"<br>");
out.println("LastAccessed:"+session.getLastAccessedTime()+"<br>");%>
22.获得随机数: ********************************************************
<%@ page import=”java.util.*”%><%int num=Math.abs(new Random().nextInt()%10)+1%>
<%Random xxx = new Random();
int it1 = xxx.nextInt();
it1=Math.abs(it1)%35;%>
jsp基本用法和命令汇总
[JSP]2016年10月3日ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日ASP编码教程:asp缓存的分类
[ASP]2015年4月15日ASP编码教程:何谓ASP缓存/为什么要缓存
[ASP]2015年4月15日ASP编码教程:asp实现的sha1加密解密代码
[ASP]2015年4月15日