❶ 怎么写好Java(或者Java web)代码
作为一个Java开发攻城狮(lao si ji),我可以负责任地告诉你,多看多写~
首先,鉴于题主你说你是刚接触地阶段,我并不推荐你你上来就要写工业级或者企业级的代码,当下的话应该是迅速积累项目经验,快速掌握java web的开发流程为主,可以网上看看什么视频教程,有些还是能学到规范的。
分享一下我的经历吧~
读大学的时候我接一些外包【朋友介绍】,一开始也很虚啊,觉得这里不对,那里不对的。写得多了,慢慢理解整个开发流程后,就觉得也就是增删改查嘛,没什么的。每次都要写,好麻烦啊,既然这样,不如自己造一些轮子,后来就是项目多了,又造了一些轮子,然后做了系列的封装。期间穿插读了 重构和effective java两本书,代码方法保持整洁,但一些代码上还是不规范。
再后来,学习了java的一些高级特性,反射、自省【提高了写代码250%的效率】以及参考了部分阿里的规范,感觉逐渐能写出比以前看上去优雅的代码了。
接下来的一段时间,因为兴趣的原因,研究了一下三大框架,自己强行撸了三个阉割版。回去看源码的时候,发现spring写得真的太优雅了,然后又小小改了一下风格。
最后,出来工作了,哦谢特~ 大家写得什么鬼啊~ 什么规范都不参照~ 简直内心爆炸,一万点伤害~ 好吧,我还是照着我原先的思路,搞一搞~
所以说,工业级、企业级代码不是每个公司都有,但是对自身有要求是好事啊~ 你也别急,慢慢写,也能逐渐规范起来~ 只是现在,不合适~ 加油~
还有问题的话,欢迎联系我~
❷ 我在javaweb项目的页面增加一个分享功能,信息也能反响成功,但是不知道怎么判断是否已经分享成功
分享功能网络分享那里有源码,粘贴复制就直接可以用的,你试试吧,这个是一定你能用的
你的页面不是有提示吗
❸ Java web 学生管理系统 要求给个源代码和包
图书管理系统是一个比较常见的课程设计课题
一般来说可以用jsp+servlet框架来实现, 这个可以通过自己的封装, 把路由精简一下, 也可以用最新的servlet注解, 也是比较方便开发的。最近的几个项目都是这么用的。
如果是比较复杂的项目还是推荐用spring全家桶, 这个非常常用
❹ JAVA WEB 分页
这是我自己写的,不知道对lz有没有用
分页包括3个类Page.java,PageService.java,PageSizeConfig.java
一个接口:PageDAO
一个配置文件:page.xml
下面是源码:(比较懒,没有写注释)
Page.java
public class Page {
public int pageSize; //页面大小
private int rowSize;//数据总数
private int pageConut;//页数
private int page;//当前页数
public Page(int rowSize,int page,int pageSize)
{
this.rowSize=rowSize;
this.pageSize=pageSize;
pageConut=(rowSize-1)/pageSize+1;
this.page=page;
}
public int getRowSize() {
return rowSize;
}
public void setRowSize(int rowSize) {
this.rowSize = rowSize;
pageConut=(rowSize-1)/pageSize+1;
}
public int getPageConut() {
return pageConut;
}
public void setPageConut(int pageConut) {
this.pageConut = pageConut;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
//首页
public void first()
{
page=1;
}
//末页
public void last()
{
page=pageConut;
}
//下一页
public void next()
{
page++;
if(page>pageConut)
{
page=pageConut;
}
}
//上一页
public void previous()
{
page--;
if(page<1)
{
page=1;
}
}
//转到第currentPage页
public void go(int currentPage)
{
page=currentPage;
if(page<1)
{
page=1;
}
if(page>pageConut)
{
page=pageConut;
}
}
/**
* 获取"下一页"的可用状态
* 返回空表示不可用,相反则可用
* @return
*/
public String getNext()
{
if(page<pageConut)
{
return "next";
}
return "";
}
/**
* 获取"上一页"的可用状态
* 返回空表示不可用,相反则可用
* @return
*/
public String getPrevious()
{
if(page>1)
{
return "previous";
}
return "";
}
public int getPageSize() {
return pageSize;
}
}
PageServise.java
public class PageService {
public static void service(HttpServletRequest request,PageDAO ,String session)
{
int pageSize=PageSizeConfig.pageSize(.getClass().getName());
String pageAction=request.getParameter("pageAction");
Page p=(Page)request.getSession().getAttribute(session);
if(p==null)
{
p=new Page(.getRowCount(),1,pageSize);
System.out.println("count="+.getRowCount());
}
else
{
p.setRowSize(.getRowCount());
}
if(pageAction==null)
{
return;
}
if("first".equals(pageAction))
{
p.first();
}
else if ("last".equals(pageAction))
{
p.last();
}
else if("next".equals(pageAction))
{
p.next();
}
else if("previous".equals(pageAction))
{
p.previous();
}
else if("go".equals(pageAction))
{
int currentPage=Integer.parseInt(request.getParameter("currentPage"));
p.go(currentPage);
}
request.getSession().setAttribute(session, p);
int start=(p.getPage()-1)*pageSize;
List list=.getDataList(start, pageSize);
request.setAttribute("list", list);
List<Integer> pageList=new ArrayList<Integer>();
for(int i=1;i<=p.getPageConut();i++)
{
pageList.add(new Integer(i));
}
request.setAttribute("pageList", pageList);
}
}
PageSizeConfig.java
public class PageSizeConfig {
public static final int DEFAULT_PAGE_SIZE=5;
private static Map<String,Integer> map;
static
{
load();
}
private static void load()
{
map=new HashMap<String,Integer>();
try {
InputStream is=Thread.currentThread().getContextClassLoader().getResourceAsStream("com/shop/page/page.xml");
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder bulider=factory.newDocumentBuilder();
Document doc=bulider.parse(is);
NodeList nl=doc.getElementsByTagName("size");
for(int i=0;i<nl.getLength();i++)
{
Node node=nl.item(i);
String type=node.getAttributes().item(0).getFirstChild().getNodeValue();
int size=Integer.parseInt(node.getTextContent());
map.put(type, new Integer(size));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static int pageSize(String className)
{
if(map.containsKey(className))
{
return map.get(className);
}
return DEFAULT_PAGE_SIZE;
}
}
PageDAO.java
package com.shop.page;
import java.util.List;
public interface PageDAO<T> {
int getRowCount();
List<T> getDataList(int start,int pageSize);
}
page.xml
<?xml version="1.0" encoding="UTF-8"?>
<page-config>
<size type="com.shop.page.impl.SearchGoodPageImpl">20</size>
</page-config>
我觉得有点不好的就是每个需要分页的地方都要创建一个session
如果lz觉得有用,email我:[email protected]
❺ 如何用java web 实现类似人人网那种分享功能
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>喝喝 </title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --><script>var imgUrl = 'var lineLink = 'var descContent = "万达狂欢节, 夺宝幸运星大抽奖活动开始啦!";var shareTitle = '万达狂欢节';var appid = 'wxc9937e3a66af6dc8';function shareFriend() { WeixinJSBridge.invoke('sendAppMessage',{ "appid": appid, "img_url": imgUrl, "img_width": "640", "img_height": "640", "link": lineLink, "desc": descContent, "title": shareTitle }, function(res) { _report('send_msg', res.err_msg); })}function shareTimeline() { WeixinJSBridge.invoke('shareTimeline',{ "img_url": imgUrl, "img_width": "640", "img_height": "640", "link": lineLink, "desc": descContent, "title": shareTitle }, function(res) { _report('timeline', res.err_msg); });}function shareWeibo() { WeixinJSBridge.invoke('shareWeibo',{ "content": descContent, "url": lineLink, }, function(res) { _report('weibo', res.err_msg); });}// 当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件。document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { // 发送给好友 WeixinJSBridge.on('menu:share:appmessage', function(argv){ shareFriend(); }); // 分享到朋友圈 WeixinJSBridge.on('menu:share:timeline', function(argv){ shareTimeline(); }); // 分享到微博 WeixinJSBridge.on('menu:share:weibo', function(argv){ shareWeibo(); }); }, false);</script> </head> <body> <!-- <script> var imgUrl = " var lineLink = " var descContent = '测试别当真'; var shareTitle = '分享'; var appid = 'wx1259b351c201841d'; function shareFriend() { WeixinJSBridge.invoke('sendAppMessage',{ "appid": appid, "img_url": imgUrl, "img_width": "200", "img_height": "200", "link": lineLink, "desc": descContent, "title": shareTitle }, function(res) { //_report('send_msg', res.err_msg); }); } function shareTimeline() { WeixinJSBridge.invoke('shareTimeline',{ "img_url": imgUrl, "img_width": "200", "img_height": "200", "link": lineLink, "desc": descContent, "title": shareTitle }, function(res) { //_report('timeline', res.err_msg); }); } function shareWeibo() { WeixinJSBridge.invoke('shareWeibo',{ "content": descContent, "url": lineLink, }, function(res) { //_report('weibo', res.err_msg); }); } // 当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件。 document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { // 发送给好友 WeixinJSBridge.on('menu:share:appmessage', function(argv){ shareFriend(); }); // 分享到朋友圈 WeixinJSBridge.on('menu:share:timeline', function(argv){ shareTimeline(); }); // 分享到微博 WeixinJSBridge.on('menu:share:weibo', function(argv){ shareWeibo(); }); }, false); </script> --> <h1>呵呵呵呵</h1> </body></html>
❻ 当前java web 开发用得一般都是哪些框架
1.S2SH(struts2+spring+hibernate)
基于Struts2+Spring3+Hibernate4开发java Web企业应用开源框架s2jh源码分享
spring+hibernate+struts2开发OA企业办公管理系统源码分享
Struts2+Hibernate3+Spring三大框架技术实现MySQL数据分页
Spring+struts2+hibernate+easyui基础权限管理框架
Spring+Struts2+Hibernate三大框架开发企业人力资源管理系统源代码下载
Spring mvc+struts2+Hibernate整合实例代码(注解详解)
2.S2SM(struts2+spring+mybatis)
Spring+Struts2+mybatis手动配置三大框架整合源代码下载
Struts2+mybatis开发音乐分享系统
3.SSH(spring mvc+spring+hibernate或struts+spring+hibernate)
Spring MVC+Spring+Hibrenarte实现的简单的CRUD项目实例
springMVC注解与hibernate完美结合完成基本的增删改查demo源码下载
springmvc+hibernate+spring+easyui开发bsalse进销存后台管理系统源代码下载
spring 3.0+spring MVC+Hibernate框架搭建教程(附:springMVC文件上传功能)
spring+struts2+Hibernate三大框架开发某制药厂管理系统源代码下载
Spring mvc+struts2+Hibernate整合实例代码(注解详解)
4.SSM(spring mvc+spring+mybatis)
SpringMVC+Mybatis整合实现简单权限控制系统代码
❼ 如何系统学习JAVA web框架
JAVA web框架很多,如果刚开始,建议学Spring WebMVC+JPA
推荐理由:
1)学习资料很多,随手一搜一大堆
2)大众情人,不管传统IT还是互联网,都在用
学习路径:
1)先学HTML+CSS,做一个博客系统的页面
2)然后先按照网上的例子整合SSH,一开始上来整合会有困难,可以先去github下载一个简单的例子,用spring关键字一搜,很多
3)用1)做好的页面,开始编程,遇到问题时,考虑多问下面站点,基本都能搞定
国内:SegmentFault
学习资料:牧虎网 - 一站式IT技术高价值资源分享平台
4)不断完善3)的例子,增删改查,链接数据库,文件上传,文件下载,从功能角度去完善
5)深入架构本身,自己写拦截器,过滤器等
6)喜欢搞代码,可以研究spring源代码,结合自己的业务,优化架构
简单总结,由浅入深,有计划,不断持续学习,多交流。
❽ 如何在天翼云上发布java web项目
javaweb项目发布需要你在服务器配置服务器容器,然后打成war包发布
❾ 能分享一下JAVA WEB 在MVC框架下的分角色登陆功能的实现代码吗
好像是这个,我也记不清了,这个项目是用maven搭建的环境