网站内容编辑器(纯JSP展示,管理界面用HTTPBasic文件(图))

优采云 发布时间: 2022-02-24 03:26

  网站内容编辑器(纯JSP展示,管理界面用HTTPBasic文件(图))

  完整源码下载:(百度云提供)

  要求:提供带有“帮助”和“版权”文本内容的页面。特点:静态页面,无需读取数据库,只为处理频繁修改字词;无需复杂的交互,无需 JavaScript;没有图片,没有文件上传。

  给出的方案:提供一页和简单的后台管理,功能单一,只需编辑页面(只需修改字体、大小、粗体、斜体等)。

  实现思路:纯JSP展示,管理界面用HTTP Basic登录,页面内容由JS编写的HTML编辑器修改。直接修改服务器磁盘文件。

  界面如下,右图为后台编辑。

  

  

  值得一提的是,Tomcat 7下JSP默认的Java语法依然是1.6。在 JSP 中嵌入 Java 1.7 功能的代码将抛出“在 1.7 以下的源级别的资源规范在此不允许”异常。所以需要修改Tomcat/conf/web.xml中的配置文件找到节点(jsp

  ),在下面添加最后两个 init-param 节点部分。注意只有jsp节点可以,默认节点不行(很相似)。

  

jsp

org.apache.jasper.servlet.JspServlet

fork

false

xpoweredBy

false

compilerSourceVM

1.7

compilerTargetVM

1.7

 3

  实际上访问的JSP只有两个:/index.jsp和/admin/index.jsp,分别是静态页面和后台编辑页面。/admin/action.jsp 用于接收保存的动作,并从表单中发布数据。functions.jsp 是所有的业务逻辑代码,不能单独通过外部 url 访问。

  我们先来看看 /index.jsp。

  

帮助

html {

font-size: 15px;

}

body {

padding: 0;

margin: 0 auto;

max-width: 600px;

-webkit-font-smoothing: antialiased;

font-family: "Microsoft YaHei", "ff-tisa-web-pro-1", "ff-tisa-web-pro-2",

"Lucida Grande", "Hiragino Sans GB", "Hiragino Sans GB W3", Arial;

background-color: #ebebeb;

}

h1 {

text-align: center;

font-size: 1.5rem;

letter-spacing: 2px;

color: #864c24;

border-bottom: #e0c494 solid 1px;

padding: 2% 0;

}

h2 {

font-size: 1rem;

letter-spacing: 1px;

color: #4c4c4c;

padding-bottom:0;

margin: 0;

}

p {

text-align: justify;

font-size: 1rem;

color: #818181;

margin: 1% 0;

margin-top:0;

}

ol {

padding: 0;

margin: 0;

}

ol {

}

ol>li>:first-child {

/* Make Firefox put the list marker inside */

/* https://bugzilla.mozilla.org/show_bug.cgi?id=36854 "if list-style-position is inside, bullet takes own line" */

display: inline;

}

ol>li>:first-child:after {

/* Add the margin that was lost w/ display: inline */

/* Firefox 10 displays this as block */

/* Safari 5.1.2 and Chrome 17.0.963.56 don't */

content: "";

display: block;

}

li {

padding: 5% 2%;

list-style-position: inside;

border-bottom: 1px solid #dddddb;

}

.text {

color: #a8a8a8;

font-size: 1rem;

font-weight: bold;

padding: 2%;

}

帮助

常见问题

Power TV的资费是怎样收取的?

<p>12元Power TV手机电视包月,产品代码88888888,12元/月;省内用户省内使用配送3G/月定向流量,流量仅用于使用Power TV,超过定向流量部分按标准资费收取;

Power TV的资费是怎样收取的?

  12元Power TV手机电视包月,产品代码88888888,12元/月;省内用户省内使用配送3G/月定向流量,流量仅用于使用Power TV,超过定向流量部分按标准资费收取;

Power TV的资费是怎样收取的?

  12元Power TV手机电视包月,产品代码88888888,12元/月;省内用户省内使用配送3G/月定向流量,流量仅用于使用Power TV,超过定向流量部分按标准资费收取;

Power TV的资费是怎样收取的?

  12元Power TV手机电视包月,产品代码88888888,12元/月;省内用户省内使用配送3G/月定向流量,流量仅用于使用Power TV,超过定向流量部分按标准资费收取;

Power TV的资费是怎样收取的?

  12元Power TV手机电视包月,产品代码88888888,12元/月;省内用户省内使用配送3G/月定向流量,流量仅用于使用Power TV,超过定向流量部分按标准资费收取;

Power TV的资费是怎样收取的?

  12元Power TV手机电视包月,产品代码88888888,12元/月;省内用户省内使用配送3G/月定向流量,流量仅用于使用Power TV,超过定向流量部分按标准资费收取;

Power TV的资费是怎样收取的?

  12元Power TV手机电视包月,产品代码88888888,12元/月;省内用户省内使用配送3G/月定向流量,流量仅用于使用Power TV,超过定向流量部分按标准资费收取;

</p>

  这个 JSP 与一般的 JSP 没有什么不同,但是您是否注意到两个评论:和 - 这是我们同意的“可编辑”范围。当然,您也可以使用自定义 HTML Tag,只要定义了范围即可。网页只不过是 HTML。对于要编辑的东西,我们定义一个范围来指示编辑的位置,就是这样。至于为什么不让所有页面都可编辑?这是因为我们不希望用户编辑页面的其他部分,如果关键更改出现错误也不好。

  好的,如何使这个 /index.jsp 可编辑?是用Java读磁盘的方法来做的。在此之前,您必须登录到 /admin/index.jsp。这里我们通过 HTTP Basic Authorization 进行用户认证,不需要数据库。如果您需要更改帐户密码,请打开 admin/functions.jsp 并编辑标题部分:

  不过笔者在调试HTTP Basic Authorization的时候遇到了一个小问题,就是浏览器弹出的对话框,不知道怎么修改里面的提示文字。如果你知道童鞋,请告诉我!

  

  action.jsp 也应该受到认证的限制,否则就是一个漏洞,允许其他人将任何数据 POST 到页面。

  

非法登录!

  修改下一页,点击保存修改页面。

  

  至于如何编辑HTML?这个答案想必大家都清楚,只用HTML可视化编辑器,在线,而不是Dreamweaver、FrontPage、VS Web之类的。老人们用过FCKEditror和TinyMCE Editor。这几年好像很喜欢用国产的,但我不知道。现在这是我自己写的,功能比较简单。

  核心逻辑由以下代码完成。

  用户使用账号和密码登录简单后台,可以通过可视化编辑器修改页面内容,修改后立即产生效果。

  不足之处,还请指出。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线