网站已经成为企业和个人展示形象、宣传品牌的重要平台。JSP(JavaServer Pages)作为一门成熟的服务端技术,在我国网站开发领域具有广泛的应用。本文将从JSP技术的概述、应用场景、优势等方面进行探讨,以期为我国网站开发提供有益参考。
一、JSP技术概述
JSP是一种基于Java的服务端技术,它允许开发者将Java代码嵌入到HTML页面中,实现动态网页的制作。JSP技术具有跨平台、易开发、性能稳定等特点,在我国网站开发领域得到了广泛应用。
二、JSP技术的应用场景
1. 动态网站开发
JSP技术可以轻松实现动态网页的制作,适用于各类企业、政府、教育、医疗等领域的网站开发。例如,电子商务网站、在线教育平台、政府***息平台等,都可以利用JSP技术实现个性化、功能丰富的动态页面。
2. 内容管理系统(CMS)
JSP技术可以与数据库、文件系统等后端存储技术相结合,实现内容管理系统的开发。在CMS中,JSP技术可以方便地实现内容编辑、发布、查询等功能,提高内容管理的效率。
3. 移动应用开发
随着移动设备的普及,移动应用开发成为了一个热门领域。JSP技术可以用于开发Web应用程序,通过适配移动端设备,实现跨平台的应用部署。
4. 电子商务平台
JSP技术可以方便地实现电子商务平台的功能,如商品展示、购物车、订单处理、支付等。JSP技术可以与各类第三方支付接口相结合,提高电子商务平台的便捷性。
三、JSP技术的优势
1. 跨平台性
JSP技术基于Java语言,具有跨平台性。这意味着开发者可以使用相同的代码在不同操作系统、不同硬件平台上部署和运行JSP应用程序,降低了开发成本。
2. 易开发
JSP技术将Java代码与HTML页面分离,简化了网页开发流程。开发者可以专注于页面设计和功能实现,提高开发效率。
3. 性能稳定
JSP技术具有良好的性能表现,能够满足大规模网站的并发访问需求。JSP技术可以与多种Java应用服务器(如Tomcat、Jboss等)相结合,提高应用程序的稳定性和可靠性。
4. 丰富的库和框架
JSP技术拥有丰富的库和框架,如Spring、Hibernate等,可以方便地实现各种复杂的功能。这些库和框架可以缩短开发周期,降低开发难度。
5. 易于扩展
JSP技术具有良好的扩展性,可以方便地集成其他技术,如Ajax、JSON等,实现更丰富的用户体验。
JSP技术在网站开发领域具有广泛的应用前景。随着我国互联网产业的快速发展,JSP技术将不断优化和完善,为我国网站开发提供更加优质的技术支持。在今后的工作中,我们应充分发挥JSP技术的优势,为我国互联网事业贡献力量。
参考文献:
[1] 张华,李明. JSP技术及其应用研究[J]. 计算机与现代化,2017(4):102-104.
[2] 刘强,赵鹏. JSP技术在动态网站开发中的应用研究[J]. 计算机技术与发展,2016(2):45-47.
[3] 王磊,陈亮. JSP技术在我国网站开发中的应用分析[J]. 现代计算机,2015(8):123-125.
1、HTML是最基本的,其次也需要Javascript用于校验,css用于设置统一样式,PhotoShop也必不要少,你不可能永远都用网上down的图片吧,总得自己做个整体柜架模板,然后生成个html静态页面,再对其进行修改。
2、刚开始你可以弄弄FrontPage,因为它跟Office一样简单,充分理解怎么用表格来定位,然后再用Dreamweaver,理解怎么用表格和层来定位,主要还是用表格定位,还有其它很多知识,像Fireworks和Flash都是起辅助作用的。
3、以上说的都是静态页面,像动态就更多了,asp asp.net jsp php等技术至少会一样,推荐jsp,基于java语言,还有一些其它技术像servlet javabean ejb 柜架有struts j2ee hibernate等。
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" "">
<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" "">
<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" "">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>登录界面</title>
</head>
<body background="C:\Users\win8\workspace\Login\image\9dcbdc339e72a5663b5c289fb5573c13_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>
首先我们来看看百度首页是不是真的用的是php,index.php无疑是可以打开的,但是我们也知道,可以通过对HTTP服务软件层面进行路由设置,使得这个地址实际解析到其他内容,比如静态文件或者是其他CGI处理的资源,比如伪静态的实现是将html路由到其他动态资源,比如php(考虑到缓存,也有可能是静态资源),所以单凭这个无法确定是否是php。
于是用chrome打开百度,;
t;
我们需要看的信息是红色框框出来的内容,首先我们看到Sever的值被设置成了bfe/1.0.8.14,http头中的server字段一般是http服务器的名称,比如知乎:
Qnginx,猜测可能是魔改Nginx吧。百度的bfe,要么是自家产品,要么有可能也是改动了nginx之类的源代码,这个参见百度首页用的什么服务器?
那么我们再看看setcookie里面,设置的cookie内容。我们知道,一般php自身设置的cookie会有类似下面这样的字段:
t;然而我们看看百度的:
t;有很多以百度命名的Token字段,没有采用php自带的cookie,也看起来不像很多语言/框架自带的cookie,后文会讲。
我们再看看在百度首页的请求中有一个字段:
HPHP,这是HHVM,如果不是百度使用代理或者在HTTP服务器层面上修改头或者修改HHVM(百度应该也不会这么闲的蛋疼去改一个不是机密的东西),那么应该就是用PHP了。那么我们解释一下为什么不用默认的(默认的cookie会出现PHPSESSID的字段)session_start()
有可能是为了分布式服务或者性能的需求,因为Session的控制大多是用文件控制,这样的话,session储存在请求的服务器上面,但是如果是分布式的,就会产生不同步问题:比如一台PHP服务器上有你的session,但是你下次请求因为负载均衡而到了另一台服务器,这台服务器上没有你的session,那你就得重新登录了。所以百度可能使用了自己的session方法,比如使用这些字段,实际session内容储存在数据库或是其他地方。
确定百度首页用的是PHP,我来回答题主的问题。
关于即时搜索,搜索引擎一般是先爬取网络上内容,然后进行排名,最后放到倒排索引中(最简单版本就是搜索关键字对应搜到的id),对搜索性能影响较大的地方在于倒排索引数据库的吞吐量和响应速度,比如我使用Spark/Hadoop之类来储存倒排索引,这个倒排索引数据库是分布式的。Spark虽然不是Java写的,但是和java一样运行在JVM上面,JVM的确很成熟。
关于你说的输入加载等等功能,使用Java使用PHP其实都无关紧要,因为真正慢的部分在数据库响应。举个形象的例子:Java和PHP用10ns,网络传输用20ms,数据库取出数据用350ms,你觉得有必要在乎前端的Java或者PHP吗?(PS:HHVM速度也很快,PHP也有负载均衡手段)
最后:纸上得来终觉浅,得知此事要躬行。尤其是做技术,技术文章太乱了,各种说法都有,有些说法不经过严格测试,有的说的是十几年前过时的东西。
文章已关闭评论!
2025-05-09 23:05:13
2025-05-09 22:45:22
2025-05-09 22:33:25
2025-05-09 22:22:51
2025-05-09 22:01:11
2025-05-09 21:15:02
2025-05-09 21:02:22
2025-05-09 20:43:13