分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
写了一个简单的登录页面,可是为什么加载不了外部CSS样式呢?可有人知道原因?
程序代码:
package main
import (
"fmt"
"html/template"
"net/http"
"strings"
"log"
_ "github.com/go-sql-driver/mysql"
"database/sql"
)
type WebMux struct{
}
func (p *WebMux) ServeHTTP(w http.ResponseWriter,r *http.Request){
switch r.URL.Path{
case "/":
sayHello(w,r)
return
case "/login":
login(w,r)
return
default:
http.NotFound(w,r)
return
}
}
func checkErr(err error) {
if err != nil {
panic(err)
}
}
func sayHello(w http.ResponseWriter,r *http.Request){
r.ParseForm()
fmt.Println(r.Form)
fmt.Println("path:",r.URL.Path)
fmt.Println("scheme:",r.URL.Scheme)
fmt.Println(r.Form["url_long"])
for k,v:=range r.Form{
fmt.Println("key:",k)
fmt.Println("val:",strings.Join(v," "))
}
fmt.Fprintf(w,"Hello,welcome to Go web world!")
}
func login(w http.ResponseWriter,r *http.Request){
fmt.Println("method:",r.Method)
if r.Method=="GET" {
t,_:=template.ParseFiles("gtpl/login.html")
t.Execute(w,nil)
} else {
r.ParseForm()
fmt.Println("username:",r.Form["username"][0])
fmt.Println("password:",r.Form["password"][0])
//连接数据库
dbConnStr:="xoops:xoops@tcp(dbserver:3306)/xoops?charset=utf8"
db,err:=sql.Open("mysql",dbConnStr)
defer db.Close()
rows,err:=db.Query("select * from auth_user where password=? and username=?",r.Form["password"][0],r.Form["username"][0])
checkErr(err)
if rows.Next() {
var username,password,usercnname string
rows.Scan(&username,&password,&usercnname)
fmt.Fprintf(w,"Hello,%s",usercnname)
} else {
fmt.Fprintf(w,"Ooooops!Invalid username or password.")
}
}
}
func main(){
//http.HandleFunc("/",sayHello)
//err:=http.ListenAndServe(":9090",nil)
mux:=&WebMux{}
err:=http.ListenAndServe(":9090",mux)
if err!=nil {
log.Fatal("ListenAndServe:",err)
}
}
login.html页面上使用<link rel="stylesheet" type="text/css" href="login.css"/>外联样式表
可是程序执行时不会加载样式。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信5107 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传