代码顺序为项目文件顺序从上到下

package org.example.dao;

import org.example.pojo.Station;

import java.sql.ResultSet;
import java.util.List; public interface SubWay {
List<String> stations(String line);
List<String> lines(String stationname);
List<Station> getShortLine(String start, String end);
List<Station> getLessLines(String start, String end);
List<String> res_line(ResultSet resultSet);
List<Integer> res_stationid(ResultSet resultSet);
}
package org.example.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor; import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Station {
private int stationid;
private String stationname;
private List<String> lines;
private List<Integer> next;
private int provideid;
}
package org.example.service;

import lombok.SneakyThrows;
import org.example.dao.SubWay;
import org.example.pojo.Station;
import org.example.utils.SqlUtils; import java.sql.Array;
import java.sql.ResultSet;
import java.util.*; public class SubWayService implements SubWay {
@SneakyThrows
@Override
public List<String> stations(String line) {
SqlUtils.getConnection();
String sql="select * from line where "+line+"!=-1 order by stationid";
ResultSet resultSet=SqlUtils.query(sql,null);
if (!resultSet.next()) return null;
resultSet.previous();
List<String> stations=new ArrayList<>();
while (resultSet.next()){
stations.add(resultSet.getString("stationname"));
}
SqlUtils.closeConnection();
return stations;
}
@SneakyThrows
@Override
public List<String> lines(String stationname) {
SqlUtils.getConnection();
System.out.println(stationname);
String sql="select * from line where stationname = ?";
ResultSet resultSet=SqlUtils.query(sql,new String[]{stationname});
if (!resultSet.next()) return null;
resultSet.previous();
resultSet.next();
List<String> lines=res_line(resultSet);
SqlUtils.closeConnection();
return lines;
}
@SneakyThrows
public List<Station> getShortLine(String start, String end){
SqlUtils.getConnection();
String sql="select * from line";;
HashMap<Integer,Station> stationHashMap=new HashMap<>();
HashMap<Integer,Integer> dis=new HashMap<>();
ResultSet resultSet=SqlUtils.query(sql,null);
if (!resultSet.next()) return null;
resultSet.previous();
int st=0;
int en=0;
while (resultSet.next()){
dis.put(resultSet.getInt(1),0x3f3f3f3f);
if(resultSet.getString(2).equals(start)) st=resultSet.getInt(1);
if(resultSet.getString(2).equals(end)) en=resultSet.getInt(1);
stationHashMap.put(resultSet.getInt(1),
new Station(resultSet.getInt(1),
resultSet.getString(2),
res_line(SqlUtils.query("select * from line where stationid=?",new Integer[]{resultSet.getInt(1)})),
res_stationid(SqlUtils.query("select * from transfer where startid=?",new Integer[]{resultSet.getInt(1)})),
-1
));
}
Queue<Integer> queue=new LinkedList<>();
queue.offer(st);
dis.put(st,0);
List<Integer> temp=null;
while (!queue.isEmpty()){
int t= queue.poll();
if(t==en) break;
temp=stationHashMap.get(t).getNext();
if(temp==null) continue;
for(int i:temp){
if(dis.get(i)>dis.get(t)+1){
dis.put(i,dis.get(t)+1);
stationHashMap.get(i).setProvideid(t);
if(!queue.contains(i)) queue.add(i);
}
}
}
List<Station> res=new ArrayList<>();
int k=en;
while (k!=-1){
res.add(stationHashMap.get(k));
k=stationHashMap.get(k).getProvideid();
}
Collections.reverse(res);
SqlUtils.closeConnection();
return res;
}
@SneakyThrows
public List<Station> getLessLines(String start, String end){
SqlUtils.getConnection();
String sql="select * from line";
HashMap<Integer,Station> stationHashMap=new HashMap<>();
HashMap<Integer,Integer> dis=new HashMap<>();
ResultSet resultSet=SqlUtils.query(sql,null);
if (!resultSet.next()) return null;
resultSet.previous();
int st=0;
int en=0;
while (resultSet.next()){
dis.put(resultSet.getInt(1),0x3f3f3f3f);
if(resultSet.getString(2).equals(start)) st=resultSet.getInt(1);
if(resultSet.getString(2).equals(end)) en=resultSet.getInt(1);
stationHashMap.put(resultSet.getInt(1),
new Station(resultSet.getInt(1),
resultSet.getString(2),
res_line(SqlUtils.query("select * from line where stationid=?",new Integer[]{resultSet.getInt(1)})),
res_stationid(SqlUtils.query("select * from transfer where startid=?",new Integer[]{resultSet.getInt(1)})),
-1
));
}
Queue<Integer> queue=new LinkedList<>();
queue.offer(st);
dis.put(st,0);
List<Integer> temp=null;
while (!queue.isEmpty()){
int t= queue.poll();
temp=stationHashMap.get(t).getNext();
if(temp==null) continue;
for(int i:temp){
if(Collections.disjoint(stationHashMap.get(t).getLines(),stationHashMap.get(i).getLines())){
if(dis.get(i)>dis.get(t)+1){
dis.put(i,dis.get(t)+1);
stationHashMap.get(i).setProvideid(t);
if(!queue.contains(i)) queue.add(i);
}
}
else{
if(dis.get(i)>dis.get(t)){
dis.put(i,dis.get(t));
stationHashMap.get(i).setProvideid(t);
if(!queue.contains(i)) queue.add(i);
}
}
}
}
int k=en;
List<Station> res=new ArrayList<>();
while (k!=-1){
res.add(stationHashMap.get(k));
k=stationHashMap.get(k).getProvideid();
}
Collections.reverse(res);
SqlUtils.closeConnection();
return res;
}
@SneakyThrows
public List<String> res_line(ResultSet resultSet){
resultSet.next();
List<String> lines=new ArrayList<>();
if(resultSet.getInt(3)>0) lines.add("地铁1号线");
if(resultSet.getInt(4)>0) lines.add("地铁八通线");
if(resultSet.getInt(5)>0) lines.add("地铁2号线");
if(resultSet.getInt(6)>0) lines.add("地铁4号线");
if(resultSet.getInt(7)>0) lines.add("地铁大兴线");
if(resultSet.getInt(8)>0) lines.add("地铁5号线");
if(resultSet.getInt(9)>0) lines.add("地铁6号线");
if(resultSet.getInt(10)>0) lines.add("地铁7号线");
if(resultSet.getInt(11)>0) lines.add("地铁8号线");
if(resultSet.getInt(12)>0) lines.add("地铁9号线");
if(resultSet.getInt(13)>0) lines.add("地铁10号线");
if(resultSet.getInt(14)>0) lines.add("地铁13号线");
if(resultSet.getInt(15)>0) lines.add("地铁14号线");
if(resultSet.getInt(16)>0) lines.add("地铁15号线");
if(resultSet.getInt(17)>0) lines.add("地铁房山线");
if(resultSet.getInt(18)>0) lines.add("地铁昌平线");
if(resultSet.getInt(19)>0) lines.add("地铁亦庄线");
if(resultSet.getInt(20)>0) lines.add("机场线");
return lines;
} @SneakyThrows
public List<Integer> res_stationid(ResultSet resultSet){
List<Integer> id=new ArrayList<>();
while (resultSet.next()){
id.add(resultSet.getInt(2));
}
return id;
}
}
package org.example.servlet;

import javax.servlet.*;
import java.io.IOException; public class AllFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("过滤器加载");
} @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding("UTF-8");
servletResponse.setCharacterEncoding("UTF-8");
filterChain.doFilter(servletRequest,servletResponse);
} @Override
public void destroy() {
System.out.println("过滤器销毁");
}
}
package org.example.servlet;

import org.example.dao.SubWay;
import org.example.pojo.Station;
import org.example.service.SubWayService; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List; public class SelectLessLines extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
SubWay subWay=new SubWayService();
String start=req.getParameter("start");
String end=req.getParameter("end");
List<Station> stations=subWay.getLessLines(start,end);
req.setAttribute("stations",stations);
req.getRequestDispatcher("/resless").forward(req,resp);
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
package org.example.servlet;

import org.example.dao.SubWay;
import org.example.service.SubWayService; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List; public class SelectLines extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
SubWay service=new SubWayService();
List<String> list=service.lines(req.getParameter("stationname"));
req.setAttribute("lines",list);
req.getRequestDispatcher("/resline").forward(req,resp);
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
package org.example.servlet;

import org.example.dao.SubWay;
import org.example.pojo.Station;
import org.example.service.SubWayService; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List; public class SelectShortLine extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
SubWay subWay=new SubWayService();
String start=req.getParameter("start");
String end=req.getParameter("end");
List<Station> stations=subWay.getShortLine(start,end);
req.setAttribute("stations",stations);
req.getRequestDispatcher("/resshort").forward(req,resp);
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
package org.example.servlet;

import org.example.dao.SubWay;
import org.example.service.SubWayService; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.List; public class SelectStations extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
SubWay service=new SubWayService();
List<String> list=service.stations(req.getParameter("kind"));
req.setAttribute("stations",list);
req.getRequestDispatcher("/resstation").forward(req,resp);
} protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
package org.example.utils;

import lombok.SneakyThrows;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet; public class SqlUtils {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3307/subway";
private static String username = "root";
private static String password = "123456";
private static Connection connection;
private static PreparedStatement preparedStatement; @SneakyThrows
public static void getConnection() {
Class.forName(driver);
connection = DriverManager.getConnection(url, username, password);
} @SneakyThrows
public static int update(String sql, Object[] s) {
preparedStatement = connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
if(s==null) return preparedStatement.executeUpdate();
for (int i = 0; i < s.length; i++) {
if (s[i] == null) {
return 0;
}
preparedStatement.setObject(i + 1, s[i]);
}
return preparedStatement.executeUpdate();
} @SneakyThrows
public static ResultSet query(String sql, Object[] s) {
preparedStatement = connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
if(s==null) return preparedStatement.executeQuery();
for (int i = 0; i < s.length; i++) {
if (s[i] == null) {
break;
}
preparedStatement.setObject(i + 1, s[i]);
}
return preparedStatement.executeQuery();
}
@SneakyThrows
public static void closeConnection(){
if(preparedStatement!=null) preparedStatement.close();
if(connection!=null) connection.close();
}
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.List" %>
<%@ page import="org.example.pojo.Station" %>
<%@ page import="org.apache.commons.collections.CollectionUtils" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Collections" %>
<html>
<head>
<title>最少换乘路线</title>
<style>
th{
border: orange solid 2px;
font-size: 40pt
}
td{
border: orange solid 2px;
font-size: 20pt
}
</style>
</head>
<body>
<table>
<%
List<Station> stations=(List<Station>) request.getAttribute("stations");
if(stations!=null){
boolean flag=false;
List<String> a=new ArrayList<>();
List<String> b=new ArrayList<>();
List<String> c=new ArrayList<>();
List<String> ab=new ArrayList<>();
List<String> bc=new ArrayList<>();
%>
<tr>
<th>路线站点名</th>
</tr>
<tr>
<td>站点数量:<%=stations.size()%></td>
</tr>
<%for(int i=0;i<stations.size();i++){
a=null;
b=null;
c=null;
flag=false;
if(i-1>0) a=stations.get(i-1).getLines();
b=stations.get(i).getLines();
if(i+1<stations.size()) c=stations.get(i+1).getLines();
if(a!=null&&c!=null){
bc= (List<String>) CollectionUtils.intersection(b,c);
flag=!Collections.disjoint(a,c);
}
else flag=true; %>
<tr>
<td>
<%=stations.get(i).getStationname()%>
<%
if(!flag){
response.getWriter().print("(换乘"+bc.get(0)+")");
}
%>
</td>
</tr>
<%}%>
<%}%>
</table>
</body>
</html>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>路线结果</title>
</head>
<body style="text-align: center">
<table>
<%
List<String> lines=(List<String>) request.getAttribute("lines");
if(lines!=null){
%>
<tr>
<th style="border: orange solid 2px;font-size: 40pt">所属线路</th>
</tr>
<%for(String s:lines){%>
<tr>
<td style="border: orange solid 2px;font-size: 20pt"><%=s%></td>
</tr>
<%}%>
<%
}
else {
%>
<%}%>
</table>
</body>
</html>
<%@ page import="java.util.List" %>
<%@ page import="org.example.pojo.Station" %>
<%@ page import="org.apache.commons.collections.CollectionUtils" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Collections" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>最短路线</title>
<style>
th{
border: orange solid 2px;
font-size: 40pt
}
td{
border: orange solid 2px;
font-size: 20pt
}
</style>
</head>
<body>
<table>
<%
List<Station> stations=(List<Station>) request.getAttribute("stations");
if(stations!=null){
boolean flag=false;
List<String> a=new ArrayList<>();
List<String> b=new ArrayList<>();
List<String> c=new ArrayList<>();
List<String> ab=new ArrayList<>();
List<String> bc=new ArrayList<>();
%>
<tr>
<th>路线站点名</th>
</tr>
<tr>
<td>站点数量:<%=stations.size()%></td>
</tr>
<%for(int i=0;i<stations.size();i++){
a=null;
b=null;
c=null;
flag=false;
if(i-1>0) a=stations.get(i-1).getLines();
b=stations.get(i).getLines();
if(i+1<stations.size()) c=stations.get(i+1).getLines();
if(a!=null&&c!=null){
bc= (List<String>) CollectionUtils.intersection(b,c);
flag=!Collections.disjoint(a,c);
}
else flag=true; %>
<tr>
<td>
<%=stations.get(i).getStationname()%>
<%
if(!flag){
response.getWriter().print("(换乘"+bc.get(0)+")");
}
%>
</td>
</tr>
<%}%>
<%}%>
</table>
</body>
</html>
<%@ page import="java.util.List"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>站点结果</title>
</head>
<body style="text-align: center">
<table>
<%
List<String> stations=(List<String>) request.getAttribute("stations");
if(stations!=null){
%>
<tr>
<th style="font-size: 40pt;border: orange solid 2px;">站点名称</th>
</tr>
<%for (String s:stations){%>
<tr>
<td style="border: orange solid 2px;font-size: 20pt"><%=s%></td>
</tr>
<%}%>
<%
}
%>
</table>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>SelectStations</servlet-name>
<servlet-class>org.example.servlet.SelectStations</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SelectStations</servlet-name>
<url-pattern>/selectstations</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SelectLines</servlet-name>
<servlet-class>org.example.servlet.SelectLines</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SelectLines</servlet-name>
<url-pattern>/selectlines</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>resstation</servlet-name>
<jsp-file>/WEB-INF/Stations.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>resstation</servlet-name>
<url-pattern>/resstation</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>resline</servlet-name>
<jsp-file>/WEB-INF/Lines.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>resline</servlet-name>
<url-pattern>/resline</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>selectshortline</servlet-name>
<servlet-class>org.example.servlet.SelectShortLine</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>selectshortline</servlet-name>
<url-pattern>/selectshort</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>selectlessline</servlet-name>
<servlet-class>org.example.servlet.SelectLessLines</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>selectlessline</servlet-name>
<url-pattern>/selectless</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>resshort</servlet-name>
<jsp-file>/WEB-INF/ShortLine.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>resshort</servlet-name>
<url-pattern>/resshort</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>resless</servlet-name>
<jsp-file>/WEB-INF/LessLine.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>resless</servlet-name>
<url-pattern>/resless</url-pattern>
</servlet-mapping>
<filter>
<filter-name>allfilter</filter-name>
<filter-class>org.example.servlet.AllFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>allfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>北京地铁系统</title>
<style>
body{
text-align: center;
}
span{
margin: 5px;
border: 2px solid blanchedalmond;
font-size: 15pt;
background: blanchedalmond;
}
form{
text-align: center;
border: deepskyblue solid 2px;
width: 400px;
height: 400px;
margin-left: 200px;
margin-top: 50px;
}
input{
font-size: 15pt;
}
</style>
<script>
function a1(){
document.getElementById('f1').style.display='block'
document.getElementById('f2').style.display='none'
document.getElementById('f3').style.display='none'
document.getElementById('f4').style.display='none'
document.getElementById('t1').style.background='paleturquoise'
document.getElementById('t2').style.background='blanchedalmond'
document.getElementById('t3').style.background='blanchedalmond'
document.getElementById('t4').style.background='blanchedalmond'
}
function a2(){
document.getElementById('f1').style.display='none'
document.getElementById('f2').style.display='block'
document.getElementById('f3').style.display='none'
document.getElementById('f4').style.display='none'
document.getElementById('t1').style.background='blanchedalmond'
document.getElementById('t2').style.background='paleturquoise'
document.getElementById('t3').style.background='blanchedalmond'
document.getElementById('t4').style.background='blanchedalmond'
}
function a3(){
document.getElementById('f1').style.display='none'
document.getElementById('f2').style.display='none'
document.getElementById('f3').style.display='block'
document.getElementById('f4').style.display='none'
document.getElementById('t1').style.background='blanchedalmond'
document.getElementById('t2').style.background='blanchedalmond'
document.getElementById('t3').style.background='paleturquoise'
document.getElementById('t4').style.background='blanchedalmond'
}
function a4(){
document.getElementById('f1').style.display='none'
document.getElementById('f2').style.display='none'
document.getElementById('f3').style.display='none'
document.getElementById('f4').style.display='block'
document.getElementById('t1').style.background='blanchedalmond'
document.getElementById('t2').style.background='blanchedalmond'
document.getElementById('t3').style.background='blanchedalmond'
document.getElementById('t4').style.background='paleturquoise'
}
</script>
</head>
<body>
<span onclick="a1()" id="t1">线路站点查询</span>
<span onclick="a2()" id="t2">线路名称查询</span>
<span onclick="a3()" id="t3">最短路径查询查询</span>
<span onclick="a4()" id="t4">最少换乘查询</span>
<form id="f1" style="display: block" action="/selectstations" method="post">
<h1>线路站点选择</h1>
<select name="kind" style="font-size: 20pt">
<option value="line1">地铁1号线</option>
<option value="line2">地铁八通线</option>
<option value="line3">地铁2号线</option>
<option value="line4">地铁4号线</option>
<option value="line5">地铁大兴线</option>
<option value="line6">地铁5号线</option>
<option value="line7">地铁6号线</option>
<option value="line8">地铁7号线</option>
<option value="line9">地铁8号线</option>
<option value="line10">地铁9号线</option>
<option value="line11">地铁10号线</option>
<option value="line12">地铁13号线</option>
<option value="line13">地铁14号线</option>
<option value="line14">地铁15号线</option>
<option value="line15">地铁房山线</option>
<option value="line16">地铁昌平线</option>
<option value="line17">地铁亦庄线</option>
<option value="line18">机场线</option>
</select>
<input type="submit" value="查询" style="margin: 30px;font-size: 15pt">
</form>
<form id="f2" style="display: none" action="/selectlines" method="post">
<h1>站点名</h1>
<input type="text" name="stationname" placeholder="请输入站点名" required="required">
<br/>
<input type="submit" value="查询" style="margin: 30px;font-size: 15pt">
</form>
<form id="f3" style="display: none" method="post" action="/selectshort">
<h1>起点</h1>
<input type="text" name="start"placeholder="输入起始点" required="required">
<h1>终点</h1>
<input type="text" name="end" placeholder="请输入终点" required="required">
<br/>
<input type="submit" value="查询" style="margin: 30px;font-size: 15pt">
</form>
<form id="f4" style="display: none" method="post" action="/selectless">
<h1>起点</h1>
<input type="text" name="start" placeholder="输入起始点" required="required">
<h1>终点</h1>
<input type="text" name="end" placeholder="请输入终点" required="required">
<br/>
<input type="submit" value="查询" style="margin: 30px;font-size: 15pt">
</form>
</body>
</html>

地铁系统PC端代码的更多相关文章

  1. 腾讯首页分辨手机端与pc端代码

    腾讯首页分辨手机端与pc端代码 自己在做网页的时候在腾讯网首页借鉴的代码. 代码: <!-- 移动适配JS脚本 --> <script type="text/javascr ...

  2. JS判断android ios系统 PC端和移动端

    最近公司上线移动端,需要根据不同的系统跳转到不同的产品页面,百度后发现这一段代码很好用,不但可以判断当前是什么系统,还能知道当前浏览器是什么内核,移动端PC端都已测试无问题! var browser ...

  3. 让pc端代码适用移动端——<meta name="viewport"

    写的代码,在pc端运行正常,在移动端就很小很小,需要放大.这时候可引入这个标签 @参考博客 用法,在<head></head>中添加<meta name="vi ...

  4. PC端写的API接口和手机端APP联合调试

    一.遇到问题的情况:项目框架:asp.net MVC5 ,写的给手机端调用的API接口. 二.自己在本地 IIS上部署项目,在手机端的请求服务器上把地址和端口换上本地部署的,如图所示 三.用管理员的身 ...

  5. 开源社群系统ThinkSNS+PC端最新播报!

    亲爱的粉丝,授权客户,企业创业者们,这一次,我们将为你们打造最好用的社交软件系统. 在这里你将看到TSer们本周研发.优化.设计的动态即时播报,可评论留言提出您的问题及建议与我们互动. 同时,研发已经 ...

  6. 社交系统/社群系统“ThinkSNS+”H5及PC端终于来了!一起来“找茬”

    [什么是TS+?] ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+,简称TS+. 还记得2017年 ...

  7. 自动判断PC端、手机端跳往不同的域名JS实现代码

    输入相同域名,在pc端和移动端会出现不同的页面效果,一种是用栅格系统实现自适应, 更多的是设计两套不同的模板和两个二级域名或者一个主域名和一个二级域名(就是有区别就可以了); js代码判断浏览器的用户 ...

  8. 让访问pc端的官网直接跳转到移动端的网站代码

    <SCRIPT LANGUAGE="JavaScript"> function mobile_device_detect(url) { var thisOS=navig ...

  9. 阻止pc端浏览器缩放js代码

    阻止pc端浏览器缩放js代码 众所周知:移动端页面禁止用户缩放界面只需加上<meta name="viewport" content="user-scalable= ...

  10. PDA手持扫描资产标签,盘点完成后将数据上传到PC端,固定资产系统查看盘点结果

    固定资产管理系统介绍: 致力于研发条码技术.集成条码系统的专业性公司,针对客户的不同需求,提供一站式的企业条码系统解决方案:包括功能强大的软件系统.安全可靠的无线网络.坚固耐用的硬件系统.灵活易用的管 ...

随机推荐

  1. ZSTUOJ平台刷题⑤:Problem G.--深入浅出学算法023-旋转数阵

    Problem G: 深入浅出学算法023-旋转数阵 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 4794  Solved: 955 Descripti ...

  2. 开发Unity3D移动端输入插件 UGUI Touch Input Component

    UGUI Touch Input Component 为了在移动设备上操控角色,本人便开发了UGUI Touch Input Component输入类插件. 特点 本插件中总共包含三种组件:the v ...

  3. python基础篇 12-函数+文件读写+json练习作业

    需求: 写一个管理商品的程序,商品文件格式在a.json里面 提供商品的增删改查功能 choice = input('请输入你的选择:1.查看商品 2.新增商品 3.修改商品 4.删除商品') #1. ...

  4. Mysql存储类型长度

    分析MySQL数据类型的长度 MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length).VARCHAR(Length).TINYINT(Length).SMALL ...

  5. Java知识体系深度理解

    1 post请求和get请求异同点 ①无论是POST还是GET请求,都是基于超文本传输协议(HTTP)的,而HTTP协议是TCP/IP协议族的应用层协议. HTTP的底层是TCP/IP.所以GET和P ...

  6. List的初始化方式

    在LinkedIn考试考到了,很遗憾没考过,特意记录一下,下次再战!文章不是我写的,看到别人的总结,发在我这里自己看看 在 Java 中几种初始化 List 的方法: 1. List<Strin ...

  7. 学习JavaScript第一周

    三种输出方式,console.log.element.write.alert(): 简单数据类型:数值型.字符串型.布尔类型.undefined.null 复杂数据类型:对象 数据类型的转换:字符串转 ...

  8. 冲刺总结-day7

    完成任务:前端设计 设计系统前端,利用html和css对登录页面和进入系统操作界面进行界面化设计,使系统看起来美观.简洁. 一.设计思路 利用HTML对整个网页页面进行布局和设计内容,使用CSS对每一 ...

  9. pdb 和 gdb 联调 python + cpython源码

    起因: 下面这段奇怪的 python 代码,一个奇怪的 bug,简单来说就是在一个模块内定义了一个 class Test, 然后创建了一个 Test 的对象 ,然后在一个函数内通过 from impo ...

  10. Linux配置NTP时间同步

    1.检查系统是否安装了NTP包(linux系统一般自带NTP4.2)没有安装我们直接使用yum命令在线安装:yum install ntp2.NTP服务端配置文件编辑vim /etc/ntp.conf ...