⑴ 將html頁改成jsp的兩種方式
一般情況,將html頁改成jsp有兩種方法,第一種是直接修改html文件,另一種是新建jsp文件。下面具體說一下這兩種方式。
假設我們要將testPage.html文件修改為testPage.jsp文件。原testPage.html文件內容為:
復制代碼
代碼如下:
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
HTML
4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta
http-equiv="Content-Type"
content="text/html;
charset=UTF-8">
<title>Insert
title
here</title>
</head>
<body>
</body>
</html>
第一種:直接修改html文件
1、直接在原testPage.html頁面最頂端添加如下代碼:
復制代碼
代碼如下:
<%@
page
language="java"
contentType="text/html;
charset=GB18030"
pageEncoding="GB18030"%>
2、修改文件後綴名
點擊原testPage.html文件,按F2,修改後綴名為jsp,Ok即可。
運氣好的話,到此為止應該是大功告成了,可是我有點點背,出現了如下錯誤界面:
可是再次將文件後綴改成html後,又可以正常顯示。上網查了半天也沒找到解決方案。後來無意間重啟了Myeclipse,jsp頁面居然神奇般的能正常顯示了,真是讓人無語,浪費那麼多時間解決一個不是問題的問題。
第二種:新建jsp文件
1、新建文件名為testPage.jsp文件
2、將原testPage.html文件的內容拷貝到jsp文件中。千萬別傻乎乎的連jsp文件頭的內容也覆蓋了,只覆蓋jsp文件中html標簽的內容就OK了。
3、刪除原testPage.html文件即可。
拓展知識
復制代碼
代碼如下:
<%@
page
language="java"
contentType="text/html;
charset=GB18030"
pageEncoding="GB18030"%>
解釋一下上面的代碼,page
language="java"
這個大家都懂,不解釋。charset=GB18030和pageEncoding="GB18030"都是設置編碼的,他們有什麼區別呢?charset=GB18030指的是此jsp處理完後輸出到瀏覽器的內容的編碼方式為GB18030。pageEncoding="GB18030"設置的是jsp文件本身的編碼,大家都知道,jsp文件會被編譯成java文件(每個jsp頁面在tomcat下的work目錄中,都會有與之對應的java文件和class文件),然後再繼續進行下一步工作。這里的pageEncoding屬性,就是設置從jsp文件到java文件的編碼方式。
下面再簡單了解一下常見的幾種編碼。
ISO-8859-1,這個是西歐語言的編碼,用這種編碼來編碼中文是會出問題的。而像tomcat等程序的默認編碼都是iso,想讓它解釋中文,還得設置編碼方式。這也是在告訴咱們中華兒女們,咱得好好努努力,加加油,將來開發一款牛逼的軟體,默認的編碼就是中文的編碼方式。外國人你想用嗎?想用就自己轉碼去唄。
GB2312
、
GBK
、GB18030都是咱中文的編碼(其實也能編碼日文、韓文等),GB2312-80
僅收漢字
6763
個,GBK是GB2312-80的擴展,是向下兼容的。GBK
共收入21886個漢字和圖形符號。GB18030
目前已編碼的字元約2.6萬。可以很明顯的看出編碼范圍GB2312
<
GBK
<
GB18030,不過,我感覺,就咱們平時用的那些漢字,用GBK編碼足矣,你想啊,就算出現了這21886以外的漢字,估計咱這普通小老百姓也不認識啊,這跟亂碼的效果不是一樣嘛,哈哈,開玩笑啦。
UTF是國際通用編碼,也就是說不管你是中文還是歐文,用這種編碼都木有問題。也許有人會問了,既然如此,咱所有的編碼都設置成UTF的不就行了嘛。對,沒有錯,這樣是可以,不過給大家舉個例子你就明白了。咱平常出門,拿的東西比較少,咱衣服上有個兜就可以了。偶爾辦個事需要帶點文件什麼的,於是咱們拿了個文件包。再後來,咱們要去旅遊,你拿了個行李箱。於是你就想了,東西少了,用行李箱可以,拿個文件什麼的用行李箱也沒問題,旅遊也沒問題,這行李箱的通用性真不錯,於是你每天出門就帶個行李箱。合適嗎?
就寫這么多吧。
⑵ jsp登陸界面源代碼
1、login.jsp文件
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="java.util.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登錄頁面</title>
</head>
<body>
<form name="loginForm" method="post" action="judgeUser.jsp">
<table>
<tr>
<td>用戶名:<input type="text" name="userName" id="userName"></td>
</tr>
<tr>
<td>密碼:<input type="password" name="password" id="password"></td>
</tr>
<tr>
<td><input type="submit" value="登錄" style="background-color:pink"> <input
type="reset" value="重置" style="background-color:red"></td>
</tr>
</table>
</form>
</body>
</html>
2、judge.jsp文件
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="java.util.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>身份驗證</title>
</head>
<body>
<%
request.setCharacterEncoding("GB18030");
String name = request.getParameter("userName");
String password = request.getParameter("password");
if(name.equals("abc")&& password.equals("123")) {
3、afterLogin.jsp文件
%>
<jsp:forward page="afterLogin.jsp">
<jsp:param name="userName" value="<%=name%>"/>
</jsp:forward>
<%
}
else {
%>
<jsp:forward page="login.jsp"/>
<%
}
%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登錄成功</title>
</head>
<body>
<%
request.setCharacterEncoding("GB18030");
String name = request.getParameter("userName");
out.println("歡迎你:" + name);
%>
</body>
</html>
java web登錄界面源代碼:
1、Data_uil.java文件
import java.sql.*;
public class Data_uil
{
public Connection getConnection()
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}
String user="***";
String password="***";
String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=***";
Connection con=null;
try{
con=DriverManager.getConnection(url,user,password);
}catch(SQLException e)
{
e.printStackTrace();
}
return con;
}
public String selectPassword(String username)
{
Connection connection=getConnection();
String sql="select *from login where username=?";
PreparedStatement preparedStatement=null;
ResultSet result=null;
String password=null;
try{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1,username);
result=preparedStatement.executeQuery();//可執行的 查詢
if(result.next())
password=result.getString("password");
}catch(SQLException e){
e.printStackTrace();
}finally
{
close(preparedStatement);
close(result);
close(connection);
}
System.out.println("找到的資料庫密碼為:"+password);
return password;
}
public void close (Connection con)
{
try{
if(con!=null)
{
con.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close (PreparedStatement preparedStatement)
{
try{
if(preparedStatement!=null)
{
preparedStatement.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close(ResultSet resultSet)
{
try{
if(resultSet!=null)
{
resultSet.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
}
2、login_check.jsp:文件
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>驗證用戶密碼</title>
</head>
<body>
<jsp:useBean id="util" class="util.Data_uil" scope="page" />
<%
String username=(String)request.getParameter("username");
String password=(String)request.getParameter("password");
if(username==null||"".equals(username))
{
out.print("<script language='javaScript'> alert('用戶名不能為空');</script>");
response.setHeader("refresh", "0;url=user_login.jsp");
}
else
{
System.out.println("輸入的用戶名:"+username);
String passwordInDataBase=util.selectPassword(username);
System.out.println("密碼:"+passwordInDataBase);
if(passwordInDataBase==null||"".equals(passwordInDataBase))
{
out.print("<script language='javaScript'> alert('用戶名不存在');</script>");
response.setHeader("refresh", "0;url=user_login.jsp");
}
else if(passwordInDataBase.equals(password))
{
out.print("<script language='javaScript'> alert('登錄成功');</script>");
response.setHeader("refresh", "0;url=loginSucces.jsp");
}
else
{
out.print("<script language='javaScript'> alert('密碼錯誤');</script>");
response.setHeader("refresh", "0;url=user_login.jsp");
}
}
%>
</body>
</html>
3、loginSucces.jsp文件
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<hr size="10" width="26%" align="left" color="green">
<font size="6" color="red" >登錄成功 </font>
<hr size="10" width="26%" align="left" color="green">
</body>
</html>
4、user_login.jsp文件
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>登錄界面</title>
</head>
<body background="C:Userswin8workspaceLoginimage\_10.jpg" >
<center>
<br><br><br><br><br><br>
<h1 style="color:yellow">Login</h1>
<br>
<form name="loginForm" action="login_check.jsp" method="post">
<table Border="0" >
<tr >
<td>賬號</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密碼</td>
<td><input type="password" name="password">
</td>
</tr>
</table>
<br>
<input type="submit" value="登錄" style="color:#BC8F8F">
</form>
</center>
</body>
</html>
⑶ 求jsp猜數字代碼!
1. 需要兩個文件,number.jsp和NumberGuessBean.java
2. 先看number.jsp代碼:
<html>
<jsp:useBean id="number" class="NumberGuessBean" scope="session" />
<jsp:setProperty name="number" property="*" />
<%
if(number.getNumGuesses()==0)
{
%>
<B>Welcome to the Number Guess game.</B>
<br>
<B>I'm thinking of a number between 1 and 100.</B>
<br>
<b>What's your guess?</b>
<form method=post>
<input type=text name="guess">
<input type=submit value=submit>
</form>
<%
}
else if(number.getSuccess())
{
%>
Congratulations! You got it. And after just <%=number.getNumGuesses()%> tries.
Care to <a href=number.jsp>try again</a>?
<%
number.reset();
}
else
{
%>
Good guess, but nope. Try <%=number.getHint()%>. You have made <%=number.getNumGuesses()%> guesses.
<br>I'm thinking of a number between 1 and 100.
<br>
What's your guess?
<form method=post><input type=text name="guess">
<input type=submit value=submit>
</form>
<%
}
%>
</html>
3. NumberGuessBean.java代碼如下:
import java.util.*;
public class NumberGuessBean {
int answer;
boolean success;
String hint;
int numGuesses;
public NumberGuessBean() {
reset();
}
public void setGuess(String guess) {
numGuesses++;
int g;
try {
g = Integer.parseInt(guess);
}
catch (NumberFormatException e) {
g = -1;
}
if (g == answer) {
success = true;
}
else if (g == -1) {
hint = "a number next time";
}
else if (g < answer) {
hint = "higher";
}
else if (g > answer) {
hint = "lower";
}
}
public boolean getSuccess() {
return success;
}
public String getHint() {
return "" + hint;
}
public int getNumGuesses() {
return numGuesses;
}
public void reset() {
answer = Math.abs(new Random().nextInt() % 100) + 1;
success = false;
numGuesses = 0;
}
}